On 2/20/18, Michael Paquier <mich...@paquier.xyz> wrote: > Regression tests of pg_upgrade are failing as follows: > New cluster database "postgres" is not empty > Failure, exiting > + rm -rf /tmp/pg_upgrade_check-Xn0ZLe
I looked into this briefly. The error comes from check_new_cluster_is_empty() in src/bin/pg_upgrade/check.c, which contains the comment /* pg_largeobject and its index should be skipped */ If you don't create a toast table for pg_largeobject and pg_largeobject_metadata, the pg_upgrade regression test passes. Revised addendum attached. Adding two more exceptions to my alternate implementation starts to make it ugly, so I haven't updated it for now. -John Naylor > Michael >
diff --git a/src/include/catalog/toasting.h b/src/include/catalog/toasting.h index ee54487..f259890 100644 --- a/src/include/catalog/toasting.h +++ b/src/include/catalog/toasting.h @@ -46,9 +46,9 @@ extern void BootstrapToastTable(char *relName, */ /* normal catalogs */ -DECLARE_TOAST(pg_aggregate, 4139, 4140); +DECLARE_TOAST(pg_aggregate, 4159, 4160); DECLARE_TOAST(pg_attrdef, 2830, 2831); -DECLARE_TOAST(pg_collation, 4141, 4142); +DECLARE_TOAST(pg_collation, 4161, 4162); DECLARE_TOAST(pg_constraint, 2832, 2833); DECLARE_TOAST(pg_default_acl, 4143, 4144); DECLARE_TOAST(pg_description, 2834, 2835); @@ -59,8 +59,6 @@ DECLARE_TOAST(pg_foreign_server, 4151, 4152); DECLARE_TOAST(pg_foreign_table, 4153, 4154); DECLARE_TOAST(pg_init_privs, 4155, 4156); DECLARE_TOAST(pg_language, 4157, 4158); -DECLARE_TOAST(pg_largeobject, 4159, 4160); -DECLARE_TOAST(pg_largeobject_metadata, 4161, 4162); DECLARE_TOAST(pg_namespace, 4163, 4164); DECLARE_TOAST(pg_partitioned_table, 4165, 4166); DECLARE_TOAST(pg_policy, 4167, 4168); diff --git a/src/test/regress/expected/misc_sanity.out b/src/test/regress/expected/misc_sanity.out index 0be74d2..a6dacd4 100644 --- a/src/test/regress/expected/misc_sanity.out +++ b/src/test/regress/expected/misc_sanity.out @@ -88,15 +88,18 @@ WHERE c.oid < 16384 AND relkind = 'r' AND attstorage != 'p' ORDER BY 1,2; - relname | attname | atttypid ---------------+---------------+-------------- - pg_attribute | attacl | aclitem[] - pg_attribute | attfdwoptions | text[] - pg_attribute | attoptions | text[] - pg_class | relacl | aclitem[] - pg_class | reloptions | text[] - pg_class | relpartbound | pg_node_tree - pg_index | indexprs | pg_node_tree - pg_index | indpred | pg_node_tree -(8 rows) + relname | attname | atttypid +-------------------------+---------------+-------------- + pg_attribute | attacl | aclitem[] + pg_attribute | attfdwoptions | text[] + pg_attribute | attmissingval | anyarray + pg_attribute | attoptions | text[] + pg_class | relacl | aclitem[] + pg_class | reloptions | text[] + pg_class | relpartbound | pg_node_tree + pg_index | indexprs | pg_node_tree + pg_index | indpred | pg_node_tree + pg_largeobject | data | bytea + pg_largeobject_metadata | lomacl | aclitem[] +(11 rows)