您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用表、字段和架构名称查找引用的表名称

使用表、字段和架构名称查找引用的表名称

如果您不需要将其移植到另一个 RDBMS,那么使用目录表而不是标准信息模式更快更简单pg_catalog

SELECT c.confrelid::regclass::text AS referenced_table
     , c.conname AS fk_name
     , pg_get_constraintdef(c.oid) AS fk_deFinition
FROM   pg_attribute a 
JOIN   pg_constraint c ON (c.conrelid, c.conkey[1]) = (a.attrelid, a.attnum)
WHERE  a.attrelid = '"Schema2"."TableB"'::regclass   -- table name
AND    a.attname  = 'A_Id'                           -- column name  
AND    c.contype  = 'f'
ORDER  BY conrelid::regclass::text, contype DESC;

返回:

 referenced_table | fk_name  |  fk_deFinition
------------------+-------------------------+----------------------------------------------
 Schema1.TableA   | b1_fkey  | FOREIGN KEY ("B_id") REFERENCES "Schema1"."TableA"("A_id")
其他 2022/1/1 18:53:14 有352人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶