gpt4 book ai didi

postgresql - 在 PostgreSQL 中获取 View /表所依赖的表的列表

转载 作者:行者123 更新时间:2023-11-29 11:30:33 25 4
gpt4 key购买 nike

在 PostgreSQL 中,有没有一种方法可以根据 View /表使用外键和对给定表的访问来获取 View /表所依赖的所有表?

基本上,我希望能够使用脚本复制 View /表的结构,并希望能够自动获取我还需要复制的表列表,以便一切正常。

This response似乎朝着正确的方向前进,但没有给我期望/需要的结果。有什么建议吗?

最佳答案

使用 Andy Lester 提供的信息,我能够提出以下查询来检索我需要的信息。

获取外键引用的表:

SELECT cl2.relname AS ref_table
FROM pg_constraint as co
JOIN pg_class AS cl1 ON co.conrelid=cl1.oid
JOIN pg_class AS cl2 ON co.confrelid=cl2.oid
WHERE co.contype='f' AND cl1.relname='TABLENAME'
ORDER BY cl2.relname;

从表中获取 View 或规则引用的表:

SELECT cl_d.relname AS ref_table
FROM pg_rewrite AS r
JOIN pg_class AS cl_r ON r.ev_class=cl_r.oid
JOIN pg_depend AS d ON r.oid=d.objid
JOIN pg_class AS cl_d ON d.refobjid=cl_d.oid
WHERE cl_d.relkind IN ('r','v') AND cl_r.relname='TABLENAME'
GROUP BY cl_d.relname
ORDER BY cl_d.relname;

关于postgresql - 在 PostgreSQL 中获取 View /表所依赖的表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4229468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com