Doc: Add more links in logical replication pages.
authorAmit Kapila <[email protected]>
Fri, 13 Oct 2023 06:43:46 +0000 (12:13 +0530)
committerAmit Kapila <[email protected]>
Fri, 13 Oct 2023 06:43:46 +0000 (12:13 +0530)
The logical replication pages in the docs mostly have links to
corresponding pub/sub commands whenever they are mentioned, but there were
some omissions. This patch adds the missing links.

Author: Peter Smith
Reviewed-by: Vignesh C, Amit Kapila
Discussion: https://www.postgresql.org/message-id/flat/CAHut%2BPu2S4RdzYKR7H5_E7QYWyq5hB0hL4EFrYbP91Qso62jeg%40mail.gmail.com

doc/src/sgml/logical-replication.sgml
doc/src/sgml/ref/alter_publication.sgml
doc/src/sgml/ref/alter_subscription.sgml
doc/src/sgml/ref/drop_subscription.sgml

index 3b2fa1129e281f8b00c383b03181fd4a6da93faf..8c3837e89bdcc5073ce641e6f8df579a0f2e2f6c 100644 (file)
    </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:
 
        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>
index c8424bca15067bac86edefc81476979f4ec3725a..74fda82ed046de4333101c958ca476b07262b1e8 100644 (file)
@@ -51,7 +51,8 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
    <literal>ADD</literal> and <literal>DROP</literal> clauses will add and
    remove one or more tables/schemas from the publication.  Note that adding
    tables/schemas to a publication that is already subscribed to will require an
-   <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal> action on the
+   <link linkend="sql-altersubscription-params-refresh-publication">
+   <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal></link> action on the
    subscribing side in order to become effective. Note also that
    <literal>DROP TABLES IN SCHEMA</literal> will not drop any schema tables
    that were specified using
index a85e04e4d6dcf63136d947063462df302f0b531a..ba708555300cb16db8ddb39e16dac42c2c53e44d 100644 (file)
@@ -85,7 +85,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
   <title>Parameters</title>
 
   <variablelist>
-   <varlistentry>
+   <varlistentry id="sql-altersubscription-params-name">
     <term><replaceable class="parameter">name</replaceable></term>
     <listitem>
      <para>
@@ -94,7 +94,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
     </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="sql-altersubscription-params-connection">
     <term><literal>CONNECTION '<replaceable class="parameter">conninfo</replaceable>'</literal></term>
     <listitem>
      <para>
@@ -105,7 +105,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
     </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="sql-altersubscription-params-setadddrop-publication">
     <term><literal>SET PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
     <term><literal>ADD PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
     <term><literal>DROP PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
@@ -147,13 +147,14 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
     </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="sql-altersubscription-params-refresh-publication">
     <term><literal>REFRESH PUBLICATION</literal></term>
     <listitem>
      <para>
       Fetch missing table information from publisher.  This will start
       replication of tables that were added to the subscribed-to publications
-      since <command>CREATE SUBSCRIPTION</command> or
+      since <link linkend="sql-createsubscription">
+      <command>CREATE SUBSCRIPTION</command></link> or
       the last invocation of <command>REFRESH PUBLICATION</command>.
      </para>
 
@@ -192,7 +193,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
     </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="sql-altersubscription-params-enable">
     <term><literal>ENABLE</literal></term>
     <listitem>
      <para>
@@ -202,7 +203,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
     </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="sql-altersubscription-params-disable">
     <term><literal>DISABLE</literal></term>
     <listitem>
      <para>
@@ -212,7 +213,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
     </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="sql-altersubscription-params-set">
     <term><literal>SET ( <replaceable class="parameter">subscription_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
     <listitem>
      <para>
@@ -232,7 +233,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
     </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="sql-altersubscription-params-skip">
     <term><literal>SKIP ( <replaceable class="parameter">skip_option</replaceable> = <replaceable class="parameter">value</replaceable> )</literal></term>
     <listitem>
      <para>
@@ -272,7 +273,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
     </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="sql-altersubscription-params-new-owner">
     <term><replaceable class="parameter">new_owner</replaceable></term>
     <listitem>
      <para>
@@ -281,7 +282,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
     </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="sql-altersubscription-params-new-name">
     <term><replaceable class="parameter">new_name</replaceable></term>
     <listitem>
      <para>
index 2a67bdea91310cceff7db14f4dbbda76718bd0b4..d4f54c7170eac01204850ebb16e8c1945f6e9580 100644 (file)
@@ -40,7 +40,7 @@ DROP SUBSCRIPTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable
   <para>
    <command>DROP SUBSCRIPTION</command> cannot be executed inside a
    transaction block if the subscription is associated with a replication
-   slot.  (You can use <command>ALTER SUBSCRIPTION</command> to unset the
+   slot.  (You can use <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link> to unset the
    slot.)
   </para>
  </refsect1>
@@ -87,9 +87,11 @@ DROP SUBSCRIPTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable
    replication slot cannot be dropped or does not exist or never existed,
    the <command>DROP SUBSCRIPTION</command> command will fail.  To proceed
    in this situation, first disable the subscription by executing
-   <literal>ALTER SUBSCRIPTION ... DISABLE</literal>, and then disassociate
+   <link linkend="sql-altersubscription-params-disable">
+   <literal>ALTER SUBSCRIPTION ... DISABLE</literal></link>, and then disassociate
    it from the replication slot by executing
-   <literal>ALTER SUBSCRIPTION ... SET (slot_name = NONE)</literal>.
+   <link linkend="sql-altersubscription-params-set">
+   <literal>ALTER SUBSCRIPTION ... SET (slot_name = NONE)</literal></link>.
    After that, <command>DROP SUBSCRIPTION</command> will no longer attempt any
    actions on a remote host.  Note that if the remote replication slot still
    exists, it (and any related table synchronization slots) should then be