pg_upgrade: issue helpful error message for use on standbys

Commit 777e6ddf17 checked for a shut down
message from a standby and allowed it to continue.  This patch reports a
helpful error message in these cases, suggesting to use rsync as
documented.

Diagnosed-by: Martín Marqués

Discussion: https://postgr.es/m/CAPdiE1xYCow-reLjrhJ9DqrMu-ppNq0ChUUEvVdxhdjGRD5_eA@mail.gmail.com

Backpatch-through: 9.3
This commit is contained in:
Bruce Momjian 2018-08-17 10:25:48 -04:00
parent ee80124811
commit b94f7b5350
1 changed files with 8 additions and 2 deletions

View File

@ -150,8 +150,14 @@ get_control_data(ClusterInfo *cluster, bool live_check)
/* remove leading spaces */
while (*p == ' ')
p++;
if (strcmp(p, "shut down\n") != 0 &&
strcmp(p, "shut down in recovery\n") != 0)
if (strcmp(p, "shut down in recovery\n") == 0)
{
if (cluster == &old_cluster)
pg_fatal("The source cluster was shut down while in recovery mode. To upgrade, use \"rsync\" as documented or shut it down as a primary.\n");
else
pg_fatal("The target cluster was shut down while in recovery mode. To upgrade, use \"rsync\" as documented or shut it down as a primary.\n");
}
else if (strcmp(p, "shut down\n") != 0)
{
if (cluster == &old_cluster)
pg_fatal("The source cluster was not shut down cleanly.\n");