diff options
| author | Bruce Momjian | 2018-08-17 14:25:48 +0000 |
|---|---|---|
| committer | Bruce Momjian | 2018-08-17 14:25:48 +0000 |
| commit | e626b6b9d318b147f2fd7a97e2117fcb90f6ee77 (patch) | |
| tree | bcf8cbfa7cb127aa2f92e5c2a306acdde7a40d08 /contrib | |
| parent | 777192f0dd444d68a95ed9df0fe8c77f50447f53 (diff) | |
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 'contrib')
| -rw-r--r-- | contrib/pg_upgrade/controldata.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/contrib/pg_upgrade/controldata.c b/contrib/pg_upgrade/controldata.c index cfc9d0969a6..52fba620a9c 100644 --- a/contrib/pg_upgrade/controldata.c +++ b/contrib/pg_upgrade/controldata.c @@ -148,8 +148,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"); |
