pg_upgrade: force timeline 1 in the new cluster
authorBruce Momjian
Sat, 16 May 2015 04:40:18 +0000 (00:40 -0400)
committerBruce Momjian
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

contrib/pg_upgrade/pg_upgrade.c

index c67ca19cb51424bca19e64b6215d2ced9ec9b1c1..72f8fac9b8bdac58c681d0f8cc47a73ecf846eae 100644 (file)
@@ -659,8 +659,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();
 }