Skip to content

Commit c66fb78

Browse files
author
Amit Kapila
committed
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
1 parent a443c1b commit c66fb78

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

doc/src/sgml/logicaldecoding.sgml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,16 +1097,18 @@ OutputPluginWrite(ctx, true);
10971097

10981098
<para>
10991099
In synchronous replication setup, a deadlock can happen, if the transaction
1100-
has locked [user] catalog tables exclusively. This is because logical decoding of
1101-
transactions can lock catalog tables to access them. To avoid this users
1102-
must refrain from taking an exclusive lock on [user] catalog tables. This can
1103-
happen in the following ways:
1100+
has locked [user] catalog tables exclusively. See
1101+
<xref linkend="logicaldecoding-capabilities"/> for information on user
1102+
catalog tables. This is because logical decoding of transactions can lock
1103+
catalog tables to access them. To avoid this users must refrain from taking
1104+
an exclusive lock on [user] catalog tables. This can happen in the following
1105+
ways:
11041106

11051107
<itemizedlist>
11061108
<listitem>
11071109
<para>
11081110
Issuing an explicit <command>LOCK</command> on <structname>pg_class</structname>
1109-
(or any other catalog table) in a transaction.
1111+
in a transaction.
11101112
</para>
11111113
</listitem>
11121114

@@ -1141,6 +1143,10 @@ OutputPluginWrite(ctx, true);
11411143
</para>
11421144
</listitem>
11431145
</itemizedlist>
1146+
1147+
Note that these commands that can cause deadlock apply to not only explicitly
1148+
indicated system catalog tables above but also to any other [user] catalog
1149+
table.
11441150
</para>
11451151
</sect2>
11461152
</sect1>
@@ -1311,7 +1317,7 @@ stream_commit_cb(...); &lt;-- commit of the streamed transaction
13111317
[user] catalog tables exclusively. To avoid this users must refrain from
13121318
having locks on catalog tables (e.g. explicit <command>LOCK</command> command)
13131319
in such transactions.
1314-
(See <xref linkend="logicaldecoding-synchronous-caveats"/> for the details.)
1320+
See <xref linkend="logicaldecoding-synchronous-caveats"/> for the details.
13151321
</para>
13161322
</listitem>
13171323
</itemizedlist>

0 commit comments

Comments
 (0)