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