@@ -57,12 +57,15 @@ gen_db_file_maps(DbInfo *old_db, DbInfo *new_db,
5757old_db -> db_name ,old_rel -> reloid ,new_rel -> reloid );
5858
5959/*
60- * In pre-8.4, TOAST table names change during CLUSTER; in >= 8.4
61- * TOAST relation names always use heap table oids, hence we cannot
62- * check relation names when upgrading from pre-8.4.
60+ * TOAST table names initially match the heap pg_class oid.
61+ * In pre-8.4, TOAST table names change during CLUSTER; in pre-9.0,
62+ * TOAST table names change during ALTER TABLE ALTER COLUMN SET TYPE.
63+ * In >= 9.0, TOAST relation names always use heap table oids, hence
64+ * we cannot check relation names when upgrading from pre-9.0.
65+ * Clusters upgraded to 9.0 will get matching TOAST names.
6366 */
6467if (strcmp (old_rel -> nspname ,new_rel -> nspname )!= 0 ||
65- ((GET_MAJOR_VERSION (old_cluster .major_version ) >=804 ||
68+ ((GET_MAJOR_VERSION (old_cluster .major_version ) >=900 ||
6669strcmp (old_rel -> nspname ,"pg_toast" )!= 0 )&&
6770strcmp (old_rel -> relname ,new_rel -> relname )!= 0 ))
6871pg_log (PG_FATAL ,"Mismatch of relation names in database \"%s\": "