我在 PostgreSQL 9.3 上运行以下查询:
CREATE TABLE "app_item"
(
"id" SERIAL NOT NULL PRIMARY KEY,
"location_id" UUID NOT NULL
);
CREATE INDEX app_item_e274a5da
ON "app_item" ("location_id");
ALTER TABLE "app_item"
ADD CONSTRAINT app_item_location_id_5cecc1c0b46e12e2_fk_fias_addrobj_aoguid
FOREIGN KEY ("location_id") REFERENCES "fias_addrobj" ("aoguid") deferrable
initially deferred;
第三个查询返回:
错误:关系“fias_addrobj”不存在
-
app_item
- 第一个数据库中的表
-
fias_addrobj
- 第二个数据库中的表
如何使用这个数据库进行正确的查询?
必须引用本地表
但是,正如下面的链接中所述,您可以使用一个使用跨服务器连接的触发器(通过dblink http://www.postgresonline.com/journal/archives/44-Using-DbLink-to-access-other-PostgreSQL-Databases-and-Servers.html)来模拟内置的约束方法?
例如,您可以将触发器设置为INSERT
,检查是否存在给定的 FK 以帮助实施引用完整性,或者DELETE
级联
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=101322 http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=101322
附:会不惜一切代价避免这种情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)