【发布时间】:2019-10-11 17:21:30
【问题描述】:
参考 V11 - PostgreSQL 11 foreign key on partitioning tables
在 V12 中也出现类似错误。
下面是我的测试表和PK和FK。
CREATE TABLE prod (id bigint NOT NULL, week bigint NOT NULL) PARTITION BY RANGE (week);
CREATE TABLE prod_w1 PARTITION OF prod FOR VALUES FROM (1) TO (2);
CREATE TABLE prod_w2 PARTITION OF prod FOR VALUES FROM (2) TO (3);
CREATE TABLE prod_w3 PARTITION OF prod FOR VALUES FROM (3) TO (4);
ALTER TABLE prod ADD CONSTRAINT xpk_prod PRIMARY KEY (id, week);
CREATE TABLE cust (id bigint NOT NULL, pid bigint Not NULL, week bigint NOT NULL) PARTITION BY RANGE (week);
CREATE TABLE cust_w1 PARTITION OF cust FOR VALUES FROM (1) TO (2);
CREATE TABLE cust_w2 PARTITION OF cust FOR VALUES FROM (2) TO (3);
CREATE TABLE cust_w3 PARTITION OF cust FOR VALUES FROM (3) TO (4);
ALTER TABLE cust ADD CONSTRAINT xpk_cust PRIMARY KEY (id, pid, week);
ALTER TABLE cust ADD CONSTRAINT xfk_cust FOREIGN KEY (pid) REFERENCES prod(pid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
这里最后一个ALTER TABLE 命令出现错误:
ERROR: cannot reference partitioned table "prod"
您能否检查 V12 或任何补丁并帮助我解决此错误。
【问题讨论】:
标签: postgresql foreign-keys partitioning