我正在尝试https://pgdash.io/blog/postgres-11-sharding.html中解释的分区和FDW示例。创建FDW扩展和外部分区表(temperatures_2016
)后,当我尝试将2016年数据插入主表温度时会抛出
错误:无法将插入的元组路由到外部表。
我该如何解决?
-在其他服务器Box2上
CREATE TABLE temperatures_2016 (
at date,
city text,
mintemp integer,
maxtemp integer
);
-在我的服务器上
CREATE FOREIGN TABLE temperatures_2016
PARTITION OF temperatures
FOR VALUES FROM ('2016-01-01') TO ('2017-01-01')
SERVER box2;
INSERT INTO temperatures (at, city, mintemp, maxtemp)
VALUES ('2016-08-23', 'HongKong', 29, 40);
我希望将行插入到外部分区表中,而不是
错误:无法将插入的元组路由到外部表SQL状态: 0A000
答案 0 :(得分:1)
您可能拥有PostgreSQL版本10。
插入具有外部表分区的表中的introduced in v11:
允许分区表上的
INSERT
,UPDATE
和COPY
将行正确地路由到外部分区(藤田悦郎,阿米特·兰格特)
postgres_fdw
外部表支持此功能。
无论如何,该错误消息不会出现在v11代码库中。
也许您正在使用v11客户端连接到v10服务器?