Postgresql “处或附近的语法错误”;间隔;在PG中创建分区表时

Postgresql “处或附近的语法错误”;间隔;在PG中创建分区表时,postgresql,edb,Postgresql,Edb,我正在尝试在edb 9.6.10中创建分区表。当我尝试这样做时,我得到了以下错误 edb=# create table employee (id int, join_date timestamp(6)) PARTITION BY RANGE (join_date) INTERVAL ('1 day'::interval); ERROR: syntax error at or near "INTERVAL" LINE 1: ...date timest

我正在尝试在edb 9.6.10中创建分区表。当我尝试这样做时,我得到了以下错误

    edb=# create table employee (id int, join_date timestamp(6)) PARTITION BY RANGE (join_date) INTERVAL ('1 day'::interval);
    ERROR:  syntax error at or near "INTERVAL"
    LINE 1: ...date timestamp(6)) PARTITION BY RANGE (join_date) INTERVAL (...
                                                             ^

请让我知道我在这里做错了什么。

据我所知,您尝试使用的功能仅存在于EDB的付费产品中,即使在那里,它也仅在v12中可用。

此范围间隔分区仅在版本12及以后才受支持

请参阅version11和version12中相同查询的行为差异

edb=# select version;
 PostgreSQL 11.11 (EnterpriseDB Advanced Server 11.11.20) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
(1 row)

edb=# create table employee (id int, join_date timestamp(6)) PARTITION BY RANGE (join_date) INTERVAL ('1 day'::interval);
ERROR:  syntax error at or near "INTERVAL"
LINE 1: ...date timestamp(6)) PARTITION BY RANGE (join_date) INTERVAL (...
在第12版中,我们得到

edb=# select version();
PostgreSQL 12.4 (EnterpriseDB Advanced Server 12.4.5) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
    (1 row)

edb=# create table employee (id int, join_date timestamp(6)) PARTITION BY RANGE (join_date) INTERVAL ('1 day'::interval);
CREATE TABLE
此外,此“间隔”语法仅在EnterpriseDB付费产品中可用。在社区博士后的情况下,例如V13,你仍然会得到相同的错误

[root@localhost bin]# ./psql -U postgres -d postgres -p 5432
psql (13.2)

Type "help" for help.

postgres=# create table employee (id int, join_date timestamp(6)) PARTITION BY RANGE (join_date) INTERVAL ('1 day'::interval);
ERROR:  syntax error at or near "INTERVAL"
LINE 1: ...date timestamp(6)) PARTITION BY RANGE (join_date) INTERVAL (...

这一定与PostgreSQL分区不同。我建议您升级并使用它。即使在postgresql中,如果我没有弄错的话,您也不能使用“INTERVAL”进行那样的表分区。postgres 13?community postgresql 13是否可以使用它?没有。EDB的专有产品?我想是的,但我没有直接的知识。