diff options
Diffstat (limited to 'doc/src/sgml/ref/pgupgrade.sgml')
-rw-r--r-- | doc/src/sgml/ref/pgupgrade.sgml | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/doc/src/sgml/ref/pgupgrade.sgml b/doc/src/sgml/ref/pgupgrade.sgml index 2520f6c50dd..87be1fb1c26 100644 --- a/doc/src/sgml/ref/pgupgrade.sgml +++ b/doc/src/sgml/ref/pgupgrade.sgml @@ -457,6 +457,56 @@ make prefix=/usr/local/pgsql.new install </step> <step> + <title>Prepare for subscriber upgrades</title> + + <para> + Setup the <link linkend="logical-replication-config-subscriber"> + subscriber configurations</link> in the new subscriber. + <application>pg_upgrade</application> attempts to migrate subscription + dependencies which includes the subscription's table information present in + <link linkend="catalog-pg-subscription-rel">pg_subscription_rel</link> + system catalog and also the subscription's replication origin. This allows + logical replication on the new subscriber to continue from where the + old subscriber was up to. Migration of subscription dependencies is only + supported when the old cluster is version 17.0 or later. Subscription + dependencies on clusters before version 17.0 will silently be ignored. + </para> + + <para> + There are some prerequisites for <application>pg_upgrade</application> to + be able to upgrade the subscriptions. If these are not met an error + will be reported. + </para> + + <itemizedlist> + <listitem> + <para> + All the subscription tables in the old subscriber should be in state + <literal>i</literal> (initialize) or <literal>r</literal> (ready). This + can be verified by checking <link linkend="catalog-pg-subscription-rel">pg_subscription_rel</link>.<structfield>srsubstate</structfield>. + </para> + </listitem> + <listitem> + <para> + The replication origin entry corresponding to each of the subscriptions + should exist in the old cluster. This can be found by checking + <link linkend="catalog-pg-subscription">pg_subscription</link> and + <link linkend="catalog-pg-replication-origin">pg_replication_origin</link> + system tables. + </para> + </listitem> + <listitem> + <para> + The new cluster must have + <link linkend="guc-max-replication-slots"><varname>max_replication_slots</varname></link> + configured to a value greater than or equal to the number of + subscriptions present in the old cluster. + </para> + </listitem> + </itemizedlist> + </step> + + <step> <title>Stop both servers</title> <para> |