我试图创建一个带有分区和填充因子的PostgreSQL表,但我得到了一个错误
CREATE TABLE public."Test1" (
col1 int NOT NULL GENERATED BY DEFAULT AS IDENTITY,
col2 varchar NULL,
col3 date null
)
partition by range (col3)
WITH (
fillfactor=80
);
错误为:
Error occurred during SQL query execution
Reason:
SQL Error [22023]: ERROR: unrecognized parameter "fillfactor
能够创建一个PostgreSQL表的填充因子和没有分区。我使用的版本是14。
如手册所述,您不能为分区表指定存储参数:
不支持为分区表指定这些参数,但可以为单个叶分区指定这些参数。
原因是分区表不包含任何数据,只有分区会包含。
您只能在创建分区时定义填充因子:
CREATE TABLE test1
(
col1 int NOT NULL GENERATED BY DEFAULT AS IDENTITY,
col2 varchar NULL,
col3 date null
)
partition by range (col3);
create table p1
partition of test1
FOR VALUES FROM ('2022-01-01') TO ('2022-07-01')
WITH (fillfactor=80);