From 96a770d5da62c820efcb32e06887f112e9b40d80 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 15 Aug 2011 22:39:37 -0400 Subject: [PATCH] In pg_upgrade, avoid dumping orphaned temporary tables. This makes the pg_upgrade schema matching pattern match pg_dump/pg_dumpall. Fix for 9.0, 9.1, and 9.2. --- contrib/pg_upgrade/info.c | 4 +++- contrib/pg_upgrade/version_old_8_3.c | 14 +++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/contrib/pg_upgrade/info.c b/contrib/pg_upgrade/info.c index f0cd8e5ede..f7031bc6be 100644 --- a/contrib/pg_upgrade/info.c +++ b/contrib/pg_upgrade/info.c @@ -266,7 +266,9 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo) " LEFT OUTER JOIN pg_catalog.pg_tablespace t " " ON c.reltablespace = t.oid " "WHERE relkind IN ('r','t', 'i'%s) AND " - " ((n.nspname NOT IN ('pg_catalog', 'information_schema', 'binary_upgrade') AND " + /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */ + " ((n.nspname !~ '^pg_' AND " + " n.nspname NOT IN ('information_schema', 'binary_upgrade') AND " " c.oid >= %u) " " OR (n.nspname = 'pg_catalog' AND " " relname IN ('pg_largeobject', 'pg_largeobject_loid_pn_index'%s) )) " diff --git a/contrib/pg_upgrade/version_old_8_3.c b/contrib/pg_upgrade/version_old_8_3.c index 1a31f8d683..6122f78bee 100644 --- a/contrib/pg_upgrade/version_old_8_3.c +++ b/contrib/pg_upgrade/version_old_8_3.c @@ -59,7 +59,8 @@ old_8_3_check_for_name_data_type_usage(ClusterInfo *cluster) " NOT a.attisdropped AND " " a.atttypid = 'pg_catalog.name'::pg_catalog.regtype AND " " c.relnamespace = n.oid AND " - " n.nspname != 'pg_catalog' AND " + /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */ + " n.nspname !~ '^pg_' AND " " n.nspname != 'information_schema'"); ntups = PQntuples(res); @@ -149,7 +150,8 @@ old_8_3_check_for_tsquery_usage(ClusterInfo *cluster) " NOT a.attisdropped AND " " a.atttypid = 'pg_catalog.tsquery'::pg_catalog.regtype AND " " c.relnamespace = n.oid AND " - " n.nspname != 'pg_catalog' AND " + /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */ + " n.nspname !~ '^pg_' AND " " n.nspname != 'information_schema'"); ntups = PQntuples(res); @@ -247,7 +249,8 @@ old_8_3_rebuild_tsvector_tables(ClusterInfo *cluster, bool check_mode) " NOT a.attisdropped AND " " a.atttypid = 'pg_catalog.tsvector'::pg_catalog.regtype AND " " c.relnamespace = n.oid AND " - " n.nspname != 'pg_catalog' AND " + /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */ + " n.nspname !~ '^pg_' AND " " n.nspname != 'information_schema'"); /* @@ -265,7 +268,7 @@ old_8_3_rebuild_tsvector_tables(ClusterInfo *cluster, bool check_mode) " NOT a.attisdropped AND " \ " a.atttypid = 'pg_catalog.tsvector'::pg_catalog.regtype AND " \ " c.relnamespace = n.oid AND " \ - " n.nspname != 'pg_catalog' AND " \ + " n.nspname !~ '^pg_' AND " \ " n.nspname != 'information_schema') " ntups = PQntuples(res); @@ -631,7 +634,8 @@ old_8_3_create_sequence_script(ClusterInfo *cluster) " pg_catalog.pg_namespace n " "WHERE c.relkind = 'S' AND " " c.relnamespace = n.oid AND " - " n.nspname != 'pg_catalog' AND " + /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */ + " n.nspname !~ '^pg_' AND " " n.nspname != 'information_schema'"); ntups = PQntuples(res); -- 2.40.0