docs: Fix pg_upgrade standby server upgrade docs

It was unsafe to instruct users to start/stop the server after
pg_upgrade was run but before the standby servers were rsync'ed.  The
new instructions avoid this.

RELEASE NOTES:  This fix should be mentioned in the minor release notes.

Reported-by: Dmitriy Sarafannikov and Sergey Burladyan

Discussion: https://postgr.es/m/87wp8o506b.fsf@seb.koffice.internal

Backpatch-through: 9.5, where standby server upgrade instructions first appeared
This commit is contained in:
Bruce Momjian 2017-06-15 12:30:02 -04:00
parent 3ab7912c18
commit 0f33a719fd

View File

@ -317,15 +317,22 @@ NET STOP postgresql-&majorversion;
</step>
<step>
<title>Verify standby servers</title>
<title>Prepare for standby server upgrades</title>
<para>
If you are upgrading Streaming Replication and Log-Shipping standby
servers, verify that the old standby servers are caught up by running
<application>pg_controldata</> against the old primary and standby
clusters. Verify that the <quote>Latest checkpoint location</>
values match in all clusters. (There will be a mismatch if old
standby servers were shut down before the old primary.)
If you are upgrading standby servers (as outlined in section <xref
linkend="pgupgrade-step-replicas">), verify that the old standby
servers are caught up by running <application>pg_controldata</>
against the old primary and standby clusters. Verify that the
<quote>Latest checkpoint location</> values match in all clusters.
(There will be a mismatch if old standby servers were shut down
before the old primary.)
</para>
<para>
Also, if upgrading standby servers, change <varname>wal_level</>
to <literal>replica</> in the <filename>postgresql.conf</> file on
the new master cluster.
</para>
</step>
@ -410,7 +417,7 @@ pg_upgrade.exe
</para>
</step>
<step>
<step id="pgupgrade-step-replicas">
<title>Upgrade Streaming Replication and Log-Shipping standby servers</title>
<para>
@ -471,16 +478,6 @@ pg_upgrade.exe
</para>
</step>
<step>
<title>Start and stop the new master cluster</title>
<para>
In the new master cluster, change <varname>wal_level</> to
<literal>replica</> in the <filename>postgresql.conf</> file
and then start and stop the cluster.
</para>
</step>
<step>
<title>Run <application>rsync</></title>