From d99cf27b7fc333b58205d309d823f861c9487fad Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Wed, 11 Feb 2015 21:02:07 -0500
Subject: [PATCH] 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
---
 src/bin/pg_dump/pg_dumpall.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c
index 9d5e323552c..5cb7f442d90 100644
--- a/src/bin/pg_dump/pg_dumpall.c
+++ b/src/bin/pg_dump/pg_dumpall.c
@@ -1356,17 +1356,17 @@ dumpCreateDB(PGconn *conn)
 				appendStringLiteralConn(buf, dbname, conn);
 				appendPQExpBuffer(buf, ";\n");
 			}
+		}
 
-			if (binary_upgrade)
-			{
-				appendPQExpBuffer(buf, "-- For binary upgrade, set datfrozenxid.\n");
-				appendPQExpBuffer(buf, "UPDATE pg_catalog.pg_database "
-								  "SET datfrozenxid = '%u' "
-								  "WHERE datname = ",
-								  dbfrozenxid);
-				appendStringLiteralConn(buf, dbname, conn);
-				appendPQExpBuffer(buf, ";\n");
-			}
+		if (binary_upgrade)
+		{
+			appendPQExpBuffer(buf, "-- For binary upgrade, set datfrozenxid.\n");
+			appendPQExpBuffer(buf, "UPDATE pg_catalog.pg_database "
+							  "SET datfrozenxid = '%u' "
+							  "WHERE datname = ",
+							  dbfrozenxid);
+			appendStringLiteralConn(buf, dbname, conn);
+			appendPQExpBuffer(buf, ";\n");
 		}
 
 		if (!skip_acls &&
-- 
GitLab