在 PostgreSQL 数据库中,要查询某个表的字段名(即列名)及其备注信息,可以使用 information_schema.columns
视图来获取列名,并结合 pg_description
和 pg_class
等系统表来获取列的备注信息。下面是一个示例 SQL 查询,假设我们要查询名为 your_table
的表的列名及备注:
SELECT
c.column_name,
d.description AS column_comment
FROM
information_schema.columns c
LEFT JOIN
pg_description d ON d.objsubid = c.ordinal_position
JOIN
pg_class t ON t.oid = d.objoid AND t.relname = c.table_name
JOIN
pg_namespace n ON n.oid = t.relnamespace AND n.nspname = c.table_schema
WHERE
c.table_schema = 'public' -- 如果你的表在其他模式下,请更改此值
AND c.table_name = 'your_table';
解释:
information_schema.columns
提供了关于数据库中所有表的列的信息。pg_description
表包含对象的描述或注释。pg_class
表包含了数据库中所有关系的信息,如表、索引等。pg_namespace
表包含数据库中的命名空间(即模式)信息。
这个查询通过连接这些表,能够获取指定表的每个字段的名称以及与之相关的备注信息。如果表位于非默认的模式(schema)中,请确保将 c.table_schema
的值更改为正确的模式名称。