aboutsummaryrefslogtreecommitdiff
path: root/src/backend/catalog/heap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/catalog/heap.c')
-rw-r--r--src/backend/catalog/heap.c19
1 files changed, 8 insertions, 11 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();
/*