summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2015-02-11 21:02:07 -0500
committerBruce Momjian <bruce@momjian.us>2015-02-11 21:02:36 -0500
commitc7bc5be11de9ed9e4b9ee6c06e65fee314bab7e0 (patch)
tree440992b5aa341a9600754a4192af6f1fc24b9e13
parent9dd56460ccd7a54e8b70c05995b6aa19a7126e6a (diff)
pg_upgrade: preserve freeze info for postgres/template1 dbs
pg_database.datfrozenxid and pg_database.datminmxid were not preserved for the 'postgres' and 'template1' databases. This could cause missing clog file errors on access to user tables and indexes after upgrades in these databases. Backpatch through 9.0
-rw-r--r--src/bin/pg_dump/pg_dumpall.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c
index 0f1de59fd0c..19467a4fecc 100644
--- a/src/bin/pg_dump/pg_dumpall.c
+++ b/src/bin/pg_dump/pg_dumpall.c
@@ -1398,17 +1398,17 @@ dumpCreateDB(PGconn *conn)
appendStringLiteralConn(buf, dbname, conn);
appendPQExpBufferStr(buf, ";\n");
}
+ }
- if (binary_upgrade)
- {
- appendPQExpBufferStr(buf, "-- For binary upgrade, set datfrozenxid and datminmxid.\n");
- appendPQExpBuffer(buf, "UPDATE pg_catalog.pg_database "
- "SET datfrozenxid = '%u', datminmxid = '%u' "
- "WHERE datname = ",
- dbfrozenxid, dbminmxid);
- appendStringLiteralConn(buf, dbname, conn);
- appendPQExpBufferStr(buf, ";\n");
- }
+ if (binary_upgrade)
+ {
+ appendPQExpBufferStr(buf, "-- For binary upgrade, set datfrozenxid and datminmxid.\n");
+ appendPQExpBuffer(buf, "UPDATE pg_catalog.pg_database "
+ "SET datfrozenxid = '%u', datminmxid = '%u' "
+ "WHERE datname = ",
+ dbfrozenxid, dbminmxid);
+ appendStringLiteralConn(buf, dbname, conn);
+ appendPQExpBufferStr(buf, ";\n");
}
if (!skip_acls &&