【发布时间】:2016-05-22 23:37:56
【问题描述】:
我有一张外表,例如:
CREATE FOREIGN TABLE film (
id varchar(40) NOT NULL,
title varchar(40) NOT NULL,
did integer NOT NULL,
date_prod date,
kind varchar(10),
len interval hour to minute
)
SERVER film_server;
以 id 作为该表的主键(在远程数据库中设置)。我想让一个本地表引用外部表,并在本地表上设置一个外键约束——例如:
CREATE TABLE actor (
id varchar(40) NOT NULL,
name varchar(40) NOT NULL,
film_id varchar(40) NOT NULL,
)
ALTER TABLE actor ADD CONSTRAINT actor_film_fkey FOREIGN KEY (film_id)
REFERENCES film(id);
但是,当我尝试添加外键约束时,我得到了错误:
ERROR: referenced relation "film" is not a table
是否可以在外部表中添加外键约束?
【问题讨论】:
-
如果我理解正确,表actor和表文件在不同的数据库上?
-
是的,表actor和表文件在不同的数据库中
-
你需要先链接两个数据库。在您可以设置表关系之前。
-
我看到我们缺乏明确定义的证据,即使在 9.6 中也不支持外部表上的外键。但在实践中这是不可能的。如果您对此问题有任何新的更新,请分享。我和你有同样的问题。谢谢。
标签: postgresql-9.4 foreign-data-wrapper