@@ -55,12 +55,15 @@ gen_db_file_maps(DbInfo *old_db, DbInfo *new_db,
55
55
old_db -> db_name ,old_rel -> reloid ,new_rel -> reloid );
56
56
57
57
/*
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.
61
64
*/
62
65
if (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 ||
64
67
strcmp (old_rel -> nspname ,"pg_toast" )!= 0 )&&
65
68
strcmp (old_rel -> relname ,new_rel -> relname )!= 0 ))
66
69
pg_log (PG_FATAL ,"Mismatch of relation names: database \"%s\", "