pgsql 查询所有表的主键和备注
在PostgreSQL中,您可以使用以下SQL查询来获取所有表的主键和备注信息:
SELECT
t.relname AS table_name,
a.attname AS column_name,
d.description AS comment
FROM
pg_class t,
pg_attribute a
LEFT JOIN
pg_description d ON a.attrelid = d.objoid AND a.attnum = d.objsubid
WHERE
t.relkind = 'r' AND
a.attnum > 0 AND
NOT a.attisdropped AND
a.attnum = ANY(pg_index.indkey) AND
pg_index.indrelid = a.attrelid AND
pg_index.indisprimary
ORDER BY
t.relname,
a.attnum;
这个查询结合了pg_class
(存储关于数据库中的表的信息)、pg_attribute
(存储一个表中的列信息)以及pg_description
(存储列的注释信息),同时还结合了pg_index
来识别主键。结果会列出每个表的名称、主键列的名称以及对应的备注信息。
评论已关闭