Clarify the usage of max_replication_slots on the subscriber side.
authorAmit Kapila <akapila@postgresql.org>
Wed, 3 Mar 2021 06:31:56 +0000 (12:01 +0530)
committerAmit Kapila <akapila@postgresql.org>
Wed, 3 Mar 2021 06:31:56 +0000 (12:01 +0530)
It was not clear in the docs that the max_replication_slots is also used
to track replication origins on the subscriber side.

Author: Paul Martinez
Reviewed-by: Amit Kapila
Backpatch-through: 10 where logical replication was introduced
Discussion: https://postgr.es/m/CACqFVBZgwCN_pHnW6dMNCrOS7tiHCw6Retf_=U2Vvj3aUSeATw@mail.gmail.com

doc/src/sgml/config.sgml
doc/src/sgml/logical-replication.sgml

index b5718fc1366055351ab094eeed239f74c1010ff7..967de73596f7c7cafebb5396e143a3e93c0221c4 100644 (file)
@@ -4001,6 +4001,17 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"'  # Windows
          to <literal>replica</literal> or higher to allow replication slots to
          be used.
         </para>
+
+        <para>
+         On the subscriber side, specifies how many replication origins (see
+         <xref linkend="replication-origins"/>) can be tracked simultaneously,
+         effectively limiting how many logical replication subscriptions can
+         be created on the server. Setting it a lower value than the current
+         number of tracked replication origins (reflected in
+         <link linkend="view-pg-replication-origin-status">pg_replication_origin_status</link>,
+         not <link linkend="catalog-pg-replication-origin">pg_replication_origin</link>)
+         will prevent the server from starting.
+        </para>
        </listitem>
       </varlistentry>
 
index 9cd3f3fbb3d9561f9d07436c11cd226608a25335..e95d446dacb08a3a7ad059fd1fca59b22e98eb15 100644 (file)
 
   <para>
    The subscriber also requires the <varname>max_replication_slots</varname>
-   to be set.  In this case it should be set to at least the number of
-   subscriptions that will be added to the subscriber, plus some reserve for
-   table synchronization.  <varname>max_logical_replication_workers</varname>
-   must be set to at least the number of subscriptions, again plus some reserve
-   for the table synchronization.  Additionally the <varname>max_worker_processes</varname>
+   be set to configure how many replication origins can be tracked.  In this
+   case it should be set to at least the number of subscriptions that will be
+   added to the subscriber, plus some reserve for table synchronization.
+   <varname>max_logical_replication_workers</varname> must be set to at least
+   the number of subscriptions, again plus some reserve for the table
+   synchronization.  Additionally the <varname>max_worker_processes</varname>
    may need to be adjusted to accommodate for replication workers, at least
    (<varname>max_logical_replication_workers</varname>
    + <literal>1</literal>).  Note that some extensions and parallel queries