繁体   English   中英

我可以使用 sql 查询来获取 PostgreSQL 数据库中所有主键和外键的列表吗

[英]Can I use a sql query to get a list of all primary and foreign keys in a PostgreSQL database

我有一个使用 PostgreSQL 数据库的客户端。 我是 PostgreSQL 的新手,需要一点帮助。 我需要从公共模式中的所有表中获取主键和外键列表。 数据库中似乎存在不一致的数据。 我尝试了其他帖子的查询,但没有成功。 当我查看表上的约束时,我可以看到主键和外键。 如何使用 SQL 获得相同的信息?

桌子主键属性外键属性

使用 information_schema 并限制为public模式。 注意:这只会显示您拥有权限的表。 因此,如果您想查看所有内容,您需要以具有足够特权的用户身份执行此操作。

SELECT
    constraint_schema,
    table_name,
    constraint_type,
    constraint_name
FROM
    information_schema.table_constraints
WHERE
    constraint_schema = 'public'
    AND constraint_type IN ('FOREIGN KEY', 'PRIMARY KEY')
ORDER BY
    table_name,
    constraint_type;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM