diff options
Diffstat (limited to 'doc/src/sgml/logical-replication.sgml')
| -rw-r--r-- | doc/src/sgml/logical-replication.sgml | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml index 3b2fa1129e2..8c3837e89bd 100644 --- a/doc/src/sgml/logical-replication.sgml +++ b/doc/src/sgml/logical-replication.sgml @@ -274,9 +274,11 @@ </para> <para> Normally, the remote replication slot is created automatically when the - subscription is created using <command>CREATE SUBSCRIPTION</command> and it + subscription is created using <link linkend="sql-createsubscription"> + <command>CREATE SUBSCRIPTION</command></link> and it is dropped automatically when the subscription is dropped using - <command>DROP SUBSCRIPTION</command>. In some situations, however, it can + <link linkend="sql-dropsubscription"><command>DROP SUBSCRIPTION</command></link>. + In some situations, however, it can be useful or necessary to manipulate the subscription and the underlying replication slot separately. Here are some scenarios: @@ -306,8 +308,9 @@ When dropping a subscription, the replication slot should be kept. This could be useful when the subscriber database is being moved to a different host and will be activated from there. In that case, - disassociate the slot from the subscription using <command>ALTER - SUBSCRIPTION</command> before attempting to drop the subscription. + disassociate the slot from the subscription using + <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link> + before attempting to drop the subscription. </para> </listitem> @@ -1349,7 +1352,8 @@ test_sub=# SELECT * FROM child ORDER BY a; If a subscription is affected by this problem, the only way to resume replication is to adjust one of the column lists on the publication side so that they all match; and then either recreate the subscription, - or use <literal>ALTER SUBSCRIPTION ... DROP PUBLICATION</literal> to + or use <link linkend="sql-altersubscription-params-setadddrop-publication"> + <literal>ALTER SUBSCRIPTION ... DROP PUBLICATION</literal></link> to remove one of the offending publications and add it again. </para> </warning> @@ -1504,13 +1508,15 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER the replication origin name can be found from the server log (LSN 0/14C0378 and replication origin <literal>pg_16395</literal> in the above case). The transaction that produced the conflict can be skipped by using - <command>ALTER SUBSCRIPTION ... SKIP</command> with the finish LSN + <link linkend="sql-altersubscription-params-skip"><command>ALTER SUBSCRIPTION ... SKIP</command></link> + with the finish LSN (i.e., LSN 0/14C0378). The finish LSN could be an LSN at which the transaction is committed or prepared on the publisher. Alternatively, the transaction can also be skipped by calling the <link linkend="pg-replication-origin-advance"> <function>pg_replication_origin_advance()</function></link> function. Before using this function, the subscription needs to be disabled temporarily - either by <command>ALTER SUBSCRIPTION ... DISABLE</command> or, the + either by <link linkend="sql-altersubscription-params-disable"> + <command>ALTER SUBSCRIPTION ... DISABLE</command></link> or, the subscription can be used with the <link linkend="sql-createsubscription-with-disable-on-error"><literal>disable_on_error</literal></link> option. Then, you can use <function>pg_replication_origin_advance()</function> |
