diff options
-rw-r--r-- | src/backend/catalog/heap.c | 19 | ||||
-rw-r--r-- | src/include/catalog/catversion.h | 2 | ||||
-rw-r--r-- | src/include/catalog/pg_type.dat | 8 |
3 files changed, 13 insertions, 16 deletions
diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index d279842d3ce..fd04e82b20e 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -1262,17 +1262,14 @@ heap_create_with_catalog(const char *relname, new_rel_desc->rd_rel->relrewrite = relrewrite; /* - * Decide whether to create an array type over the relation's rowtype. We - * do not create any array types for system catalogs (ie, those made - * during initdb). We do not create them where the use of a relation as - * such is an implementation detail: toast tables, sequences and indexes. - */ - if (IsUnderPostmaster && (relkind == RELKIND_RELATION || - relkind == RELKIND_VIEW || - relkind == RELKIND_MATVIEW || - relkind == RELKIND_FOREIGN_TABLE || - relkind == RELKIND_COMPOSITE_TYPE || - relkind == RELKIND_PARTITIONED_TABLE)) + * Decide whether to create an array type over the relation's rowtype. + * Array types are made except where the use of a relation as such is an + * implementation detail: toast tables, sequences and indexes. + */ + if (!(relkind == RELKIND_SEQUENCE || + relkind == RELKIND_TOASTVALUE || + relkind == RELKIND_INDEX || + relkind == RELKIND_PARTITIONED_INDEX)) new_array_oid = AssignTypeArrayOid(); /* diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index a433bf52c1b..54518cd40ed 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 202006301 +#define CATALOG_VERSION_NO 202007061 #endif diff --git a/src/include/catalog/pg_type.dat b/src/include/catalog/pg_type.dat index e8be0008353..b2cec074168 100644 --- a/src/include/catalog/pg_type.dat +++ b/src/include/catalog/pg_type.dat @@ -113,22 +113,22 @@ # hand-built rowtype entries for bootstrapped catalogs # NB: OIDs assigned here must match the BKI_ROWTYPE_OID declarations -{ oid => '71', +{ oid => '71', array_type_oid => '210', typname => 'pg_type', typlen => '-1', typbyval => 'f', typtype => 'c', typcategory => 'C', typrelid => 'pg_type', typinput => 'record_in', typoutput => 'record_out', typreceive => 'record_recv', typsend => 'record_send', typalign => 'd', typstorage => 'x' }, -{ oid => '75', +{ oid => '75', array_type_oid => '270', typname => 'pg_attribute', typlen => '-1', typbyval => 'f', typtype => 'c', typcategory => 'C', typrelid => 'pg_attribute', typinput => 'record_in', typoutput => 'record_out', typreceive => 'record_recv', typsend => 'record_send', typalign => 'd', typstorage => 'x' }, -{ oid => '81', +{ oid => '81', array_type_oid => '272', typname => 'pg_proc', typlen => '-1', typbyval => 'f', typtype => 'c', typcategory => 'C', typrelid => 'pg_proc', typinput => 'record_in', typoutput => 'record_out', typreceive => 'record_recv', typsend => 'record_send', typalign => 'd', typstorage => 'x' }, -{ oid => '83', +{ oid => '83', array_type_oid => '273', typname => 'pg_class', typlen => '-1', typbyval => 'f', typtype => 'c', typcategory => 'C', typrelid => 'pg_class', typinput => 'record_in', typoutput => 'record_out', typreceive => 'record_recv', |