On Sun, Aug 23, 2015 at 09:45:50AM -0500, Andy Colson wrote:
> I think we should add a step 6.5 (before step 7 Stop both servers) with
> something like:
>
> If you are upgrading both a primary and standby, then we need to make sure
> the standby is caught up.
> If you are wal shipping then on primary run: select pg_switch_xlog();
> shut down primary
> before you shut down the standby make sure it gets caught up to the primary.
>
> I don't think its 100% required for them to be exact, is it? If they are a
> little different then rsync has more data to xfer from primary to standby ...
> but it would still work. Right?
You are one of the first to use this new ability so it is good to get
your feedback. I have developed the attached applied patch to address
the problems you saw.
First, the verification has to happen earlier, before pg_upgrade is run.
I think what is happening is that a checkpoint on server shutdown is
changing the value while pg_upgrade is running, and the rename of the
controldata file is another issue, so doing it right after the primary
is shut down is the right place.
I also added a mention that rsync, not pg_upgrade, will be run on the
standbys. You can see all the results of the patch here:
http://momjian.us/pgsql_docs/pgupgrade.html
Thanks.
--
Bruce Momjian <[email protected]> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ Everyone has their own god. +
diff --git a/doc/src/sgml/ref/pgupgrade.sgml b/doc/src/sgml/ref/pgupgrade.sgml
new file mode 100644
index ebc0d58..fcb0316
*** a/doc/src/sgml/ref/pgupgrade.sgml
--- b/doc/src/sgml/ref/pgupgrade.sgml
*************** NET STOP postgresql-9.0
*** 310,317 ****
</para>
<para>
! Streaming replication and log-shipping standby servers can remain running until
! a later step.
</para>
</step>
--- 310,330 ----
</para>
<para>
! Streaming replication and log-shipping standby servers can
! remain running until a later step.
! </para>
! </step>
!
! <step>
! <title>Verify standby servers</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.)
</para>
</step>
*************** pg_upgrade.exe
*** 404,410 ****
If you have Streaming Replication (<xref
linkend="streaming-replication">) or Log-Shipping (<xref
linkend="warm-standby">) standby servers, follow these steps to
! upgrade them (before starting any servers):
</para>
<substeps>
--- 417,425 ----
If you have Streaming Replication (<xref
linkend="streaming-replication">) or Log-Shipping (<xref
linkend="warm-standby">) standby servers, follow these steps to
! upgrade them. You will not be running <application>pg_upgrade</>
! on the standby servers, but rather <application>rsync</>. Do not
! start any servers yet.
</para>
<substeps>
*************** pg_upgrade.exe
*** 447,464 ****
</para>
</step>
- <step>
- <title>Verify standby servers</title>
-
- <para>
- To prevent old standby servers from being modified, run
- <application>pg_controldata</> against the primary and standby
- clusters and verify that the <quote>Latest checkpoint location</>
- values match in all clusters. (This requires the standbys to be
- shut down after the primary.)
- </para>
- </step>
-
<step>
<title>Save configuration files</title>
--- 462,467 ----
--
Sent via pgsql-general mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general