pg_upgrade: force timeline 1 in the new cluster
authorBruce Momjian <bruce@momjian.us>
Sat, 16 May 2015 04:40:18 +0000 (00:40 -0400)
committerBruce Momjian <bruce@momjian.us>
Sat, 16 May 2015 04:40:18 +0000 (00:40 -0400)
Previously, this prevented promoted standby servers from being upgraded
because of a missing WAL history file.  (Timeline 1 doesn't need a
history file, and we don't copy WAL files anyway.)

Report by Christian Echerer(?), Alexey Klyukin

Backpatch through 9.0

src/bin/pg_upgrade/pg_upgrade.c

index fbccc2e830463f6444126df35ac4b6cfa0ab3fc8..cc81fa0bb25fbe52b630d818c764516bc325a822 100644 (file)
@@ -473,8 +473,9 @@ copy_clog_xlog_xid(void)
    /* now reset the wal archives in the new cluster */
    prep_status("Resetting WAL archives");
    exec_prog(UTILITY_LOG_FILE, NULL, true,
-             "\"%s/pg_resetxlog\" -l %s \"%s\"", new_cluster.bindir,
-             old_cluster.controldata.nextxlogfile,
+             /* use timeline 1 to match controldata and no WAL history file */
+             "\"%s/pg_resetxlog\" -l 00000001%s \"%s\"", new_cluster.bindir,
+             old_cluster.controldata.nextxlogfile + 8,
              new_cluster.pgdata);
    check_ok();
 }