diff options
| author | Bruce Momjian <bruce@momjian.us> | 2011-08-15 22:39:38 -0400 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 2011-08-15 22:39:38 -0400 |
| commit | f239ec57277b3fffe1c5bd2694a9d0d726d3a259 (patch) | |
| tree | d3b38ef4309c520d66d18f8db834d4318ff35546 | |
| parent | 5707f355593c91a6c866835a7c55eabaede23628 (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.c | 5 | ||||
| -rw-r--r-- | contrib/pg_upgrade/version_old_8_3.c | 14 |
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); |
