aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2019-10-04 09:16:03 +0900
committerMichael Paquier <michael@paquier.xyz>2019-10-04 09:16:03 +0900
commitc2e3b311d9ef85e99b04944e7e6f98e3a336de84 (patch)
treecd94548f5bcfea5e9e7f5b5244447247ec825e61
parent8381242df587d31c178938d9b125131e2f8064b3 (diff)
downloadpostgresql-c2e3b311d9ef85e99b04944e7e6f98e3a336de84.tar.gz
postgresql-c2e3b311d9ef85e99b04944e7e6f98e3a336de84.zip
Fix --dry-run mode of pg_rewind
Even if --dry-run mode was specified, the control file was getting updated, preventing follow-up runs of pg_rewind to work properly on the target data folder. The origin of the problem came from the refactoring done by ce6afc6. Author: Alexey Kondratov Discussion: https://postgr.es/m/7ca88204-3e0b-2f4c-c8af-acadc4b266e5@postgrespro.ru Backpatch-through: 12
-rw-r--r--src/bin/pg_rewind/pg_rewind.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/bin/pg_rewind/pg_rewind.c b/src/bin/pg_rewind/pg_rewind.c
index d378053de45..f9d94764ad6 100644
--- a/src/bin/pg_rewind/pg_rewind.c
+++ b/src/bin/pg_rewind/pg_rewind.c
@@ -388,7 +388,8 @@ main(int argc, char **argv)
ControlFile_new.minRecoveryPoint = endrec;
ControlFile_new.minRecoveryPointTLI = endtli;
ControlFile_new.state = DB_IN_ARCHIVE_RECOVERY;
- update_controlfile(datadir_target, &ControlFile_new, do_sync);
+ if (!dry_run)
+ update_controlfile(datadir_target, &ControlFile_new, do_sync);
if (showprogress)
pg_log_info("syncing target data directory");