From: Bruce Momjian Date: Tue, 19 Nov 2013 20:00:49 +0000 (-0500) Subject: pg_upgrade: avoid ALTER COLUMN TYPE on inherited columns X-Git-Tag: REL9_4_BETA1~922 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dbd786bc4f497210551a7640ee2f6afe877cc3e9;p=postgresql pg_upgrade: avoid ALTER COLUMN TYPE on inherited columns This only affects upgrades from 8.3 currently, and is harmless as the child just generates an error in the script, but we should get it right in case we ever need this for more complex uses. Per report from Peter Eisentraut --- diff --git a/contrib/pg_upgrade/version_old_8_3.c b/contrib/pg_upgrade/version_old_8_3.c index 84a47eec59..e8438b6cb0 100644 --- a/contrib/pg_upgrade/version_old_8_3.c +++ b/contrib/pg_upgrade/version_old_8_3.c @@ -325,6 +325,8 @@ old_8_3_rebuild_tsvector_tables(ClusterInfo *cluster, bool check_mode) "WHERE c.relkind = 'r' AND " " c.oid = a.attrelid AND " " NOT a.attisdropped AND " + /* child attribute changes are processed by the parent */ + " a.attinhcount = 0 AND " " a.atttypid = 'pg_catalog.tsvector'::pg_catalog.regtype AND " " c.relnamespace = n.oid AND " /* exclude possible orphaned temp tables */ @@ -346,6 +348,8 @@ old_8_3_rebuild_tsvector_tables(ClusterInfo *cluster, bool check_mode) "WHERE c.relkind = 'r' AND " \ " c.oid = a.attrelid AND " \ " NOT a.attisdropped AND " \ + /* child attribute changes are processed by the parent */ \ + " a.attinhcount = 0 AND " \ " a.atttypid = 'pg_catalog.tsvector'::pg_catalog.regtype AND " \ " c.relnamespace = n.oid AND " \ " n.nspname !~ '^pg_' AND " \