diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index cd946c7692..be970d20ef 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -254,6 +254,11 @@ transformCreateStmt(CreateStmt *stmt, const char *queryString) ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("cannot create partitioned table as inheritance child"))); + if (stmt->options) + ereport(ERROR, + (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), + errmsg("cannot specify storage options for a partitioned table"), + errhint("specify storage options on leaf partitions instead"))); } /* diff --git a/src/test/regress/expected/create_table.out b/src/test/regress/expected/create_table.out index 6deeadbfab..b4eefff63f 100644 --- a/src/test/regress/expected/create_table.out +++ b/src/test/regress/expected/create_table.out @@ -989,7 +989,8 @@ Number of partitions: 0 DROP TABLE parted_col_comment; -- specify options with partitioning CREATE TABLE parted_col_comment (a int, b text) PARTITION BY LIST (a) WITH (fillfactor=100); -ERROR: unrecognized parameter "fillfactor" +ERROR: cannot specify storage options for a partitioned table +HINT: specify storage options on leaf partitions instead -- list partitioning on array type column CREATE TABLE arrlp (a int[]) PARTITION BY LIST (a); CREATE TABLE arrlp12 PARTITION OF arrlp FOR VALUES IN ('{1}', '{2}');