diff options
author | Amit Kapila <akapila@postgresql.org> | 2021-06-24 09:31:51 +0530 |
---|---|---|
committer | Amit Kapila <akapila@postgresql.org> | 2021-06-24 09:31:51 +0530 |
commit | 7a4ecefe9d77b7bb09caa5d82de433494e017363 (patch) | |
tree | b7c1dfbb741cabcb87a857cc19185b84c1d7aa5f /doc/src | |
parent | 5179a1ab773c9305192b0261fbb1f9e223d94a3d (diff) |
Doc: Update caveats in synchronous logical replication.
Reported-by: Simon Riggs
Author: Takamichi Osumi
Reviewed-by: Amit Kapila
Backpatch-through: 9.6
Discussion: https://www.postgresql.org/message-id/20210222222847.tpnb6eg3yiykzpky@alap3.anarazel.de
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/logicaldecoding.sgml | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/doc/src/sgml/logicaldecoding.sgml b/doc/src/sgml/logicaldecoding.sgml index 463d7f93676..11de829ae02 100644 --- a/doc/src/sgml/logicaldecoding.sgml +++ b/doc/src/sgml/logicaldecoding.sgml @@ -755,16 +755,18 @@ OutputPluginWrite(ctx, true); <para> In synchronous replication setup, a deadlock can happen, if the transaction - has locked [user] catalog tables exclusively. This is because logical decoding of - transactions can lock catalog tables to access them. To avoid this users - must refrain from taking an exclusive lock on [user] catalog tables. This can - happen in the following ways: + has locked [user] catalog tables exclusively. See + <xref linkend="logicaldecoding-capabilities"/> for information on user + catalog tables. This is because logical decoding of transactions can lock + catalog tables to access them. To avoid this users must refrain from taking + an exclusive lock on [user] catalog tables. This can happen in the following + ways: <itemizedlist> <listitem> <para> Issuing an explicit <command>LOCK</command> on <structname>pg_class</structname> - (or any other catalog table) in a transaction. + in a transaction. </para> </listitem> @@ -782,6 +784,10 @@ OutputPluginWrite(ctx, true); </para> </listitem> </itemizedlist> + + Note that these commands that can cause deadlock apply to not only explicitly + indicated system catalog tables above but also to any other [user] catalog + table. </para> </sect2> </sect1> |