summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2011-08-15 22:39:38 -0400
committerBruce Momjian <bruce@momjian.us>2011-08-15 22:39:38 -0400
commitf239ec57277b3fffe1c5bd2694a9d0d726d3a259 (patch)
treed3b38ef4309c520d66d18f8db834d4318ff35546
parent5707f355593c91a6c866835a7c55eabaede23628 (diff)
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.
-rw-r--r--contrib/pg_upgrade/info.c5
-rw-r--r--contrib/pg_upgrade/version_old_8_3.c14
2 files changed, 13 insertions, 6 deletions
diff --git a/contrib/pg_upgrade/info.c b/contrib/pg_upgrade/info.c
index 567c64e8b82..ca357e78924 100644
--- a/contrib/pg_upgrade/info.c
+++ b/contrib/pg_upgrade/info.c
@@ -326,7 +326,10 @@ get_rel_infos(migratorContext *ctx, const DbInfo *dbinfo,
" ON c.relnamespace = n.oid "
" LEFT OUTER JOIN pg_catalog.pg_tablespace t "
" ON c.reltablespace = t.oid "
- "WHERE (( n.nspname NOT IN ('pg_catalog', 'information_schema') "
+ "WHERE (( "
+ /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */
+ " n.nspname !~ '^pg_' "
+ " AND n.nspname != 'information_schema' "
" AND c.oid >= %u "
" ) OR ( "
" n.nspname = 'pg_catalog' "
diff --git a/contrib/pg_upgrade/version_old_8_3.c b/contrib/pg_upgrade/version_old_8_3.c
index 6ca266c4eb3..930f76d7146 100644
--- a/contrib/pg_upgrade/version_old_8_3.c
+++ b/contrib/pg_upgrade/version_old_8_3.c
@@ -61,7 +61,8 @@ old_8_3_check_for_name_data_type_usage(migratorContext *ctx, Cluster whichCluste
" 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);
@@ -151,7 +152,8 @@ old_8_3_check_for_tsquery_usage(migratorContext *ctx, Cluster whichCluster)
" 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);
@@ -250,7 +252,8 @@ old_8_3_rebuild_tsvector_tables(migratorContext *ctx, 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'");
/*
@@ -268,7 +271,7 @@ old_8_3_rebuild_tsvector_tables(migratorContext *ctx, 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);
@@ -638,7 +641,8 @@ old_8_3_create_sequence_script(migratorContext *ctx, Cluster whichCluster)
" 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);