如何列出PostgreSQL中所有表的所有约束?
我需要搜索很久以前创建的unique
约束,数据库有这么多(600)个表。很难找到。是否有列出所有表的所有constraints
的查询
发布于 2021-09-20 10:08:37
您必须参考pg_constraint。
如果您只需要列出contype上的唯一约束过滤器,如下所示:
select * from pg_catalog.pg_constraint pc
where contype = 'u'
这里的文档:https://www.postgresql.org/docs/current/catalog-pg-constraint.html
发布于 2021-09-20 10:42:23
下面的查询将列出PostgreSQL数据库中表的所有约束。你可以在下面试试:
SELECT con.*
FROM pg_catalog.pg_constraint con
INNER JOIN pg_catalog.pg_class rel ON rel.oid = con.conrelid
INNER JOIN pg_catalog.pg_namespace nsp ON nsp.oid = connamespace
WHERE nsp.nspname = '<schema name>'
AND rel.relname = '<table name>';
替换为您的表名&替换为您的模式名。
它可以在PSQL中查看,如下所示:
d+ <SCHEMA_NAME.TABLE_NAME>
https://stackoverflow.com/questions/69251692
复制相似问题