aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2018-08-17 10:25:48 -0400
committerBruce Momjian <bruce@momjian.us>2018-08-17 10:25:48 -0400
commitbd30f51c0ec97207ac9baf68d03fd4e851f9777f (patch)
tree9ec0c2d3da13a849d5a5d024b1b1b5af40745e69 /src
parent0dfaf8f763ae66eca841366552d2e69a73cd9af2 (diff)
downloadpostgresql-bd30f51c0ec97207ac9baf68d03fd4e851f9777f.tar.gz
postgresql-bd30f51c0ec97207ac9baf68d03fd4e851f9777f.zip
pg_upgrade: issue helpful error message for use on standbys
Commit 777e6ddf1723306bd2bf8fe6f804863f459b0323 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
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_upgrade/controldata.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/bin/pg_upgrade/controldata.c b/src/bin/pg_upgrade/controldata.c
index c4c1bda8d9f..936fa69a7b2 100644
--- a/src/bin/pg_upgrade/controldata.c
+++ b/src/bin/pg_upgrade/controldata.c
@@ -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");