如何在postgres中为数据库角色添加外键?
CREATE TABLE "public"."role_info" (
"last_login" timestamptz,
"user" name,
CONSTRAINT "role_info" FOREIGN KEY ("user") REFERENCES "pg_catalog"."pg_authid" ("rolname") ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (OIDS=FALSE);
这将返回权限被拒绝。
答案 0 :(得分:4)
你没有。您无法在当前实现中添加引用系统目录的外键。
即使某些目录稍后放宽了该限制,所有DB共享的全局目录(如pg_role
)也可能会受到限制。
您可以使用触发器来单向强制执行关系,从而阻止您添加引用不存在的系统商品的值。但是,您无法停止正在删除的商品,因此它的实用性有限。