From 7971a57fd4ca4253393b77700d59670b5c6ec252 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 31 Aug 2011 21:49:58 -0400 Subject: [PATCH] Fix pg_upgrade to preserve toast relfrozenxids for old 8.3 servers. This fixes a pg_upgrade bug that could lead to query errors when clog files are improperly removed. Backpatch to 8.4, 9.0, 9.1. --- src/bin/pg_dump/pg_dump.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index d7a147eb1f..56db6e54c1 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -3978,14 +3978,13 @@ getTables(int *numTables) * owning column, if any (note this dependency is AUTO as of 8.2) */ appendPQExpBuffer(query, - "SELECT c.tableoid, c.oid, relname, " - "relacl, relkind, relnamespace, " - "(%s relowner) AS rolname, " - "relchecks, (reltriggers <> 0) AS relhastriggers, " - "relhasindex, relhasrules, relhasoids, " - "relfrozenxid, " - "0 AS toid, " - "0 AS tfrozenxid, " + "SELECT c.tableoid, c.oid, c.relname, " + "c.relacl, c.relkind, c.relnamespace, " + "(%s c.relowner) AS rolname, " + "c.relchecks, (c.reltriggers <> 0) AS relhastriggers, " + "c.relhasindex, c.relhasrules, c.relhasoids, " + "c.relfrozenxid, tc.oid AS toid, " + "tc.relfrozenxid AS tfrozenxid, " "'p' AS relpersistence, " "NULL AS reloftype, " "d.refobjid AS owning_tab, " @@ -3999,7 +3998,8 @@ getTables(int *numTables) "d.classid = c.tableoid AND d.objid = c.oid AND " "d.objsubid = 0 AND " "d.refclassid = c.tableoid AND d.deptype = 'a') " - "WHERE relkind in ('%c', '%c', '%c', '%c') " + "LEFT JOIN pg_class tc ON (c.reltoastrelid = tc.oid) " + "WHERE c.relkind in ('%c', '%c', '%c', '%c') " "ORDER BY c.oid", username_subquery, RELKIND_SEQUENCE, -- 2.40.0