SELECT c.relname AS 表名, a.attname AS 字段名, format_type(a.atttypid, a.atttypmod) AS 数据类型, CASE WHEN a.attnotnull true THEN 是 ELSE 否 END AS 是否必填, CASE WHEN a.atthasdef true THEN 是 ELSE 否 END AS 是否有默认值, pg_get_expr(d.adbin, d.adrelid) AS 默认值, col_description(a.attrelid, a.attnum) AS 字段注释 FROM sys_class c JOIN sys_namespace n ON c.relnamespace n.oid JOIN sys_attribute a ON a.attrelid c.oid -- 关联默认值系统表 LEFT JOIN sys_attrdef d ON a.attrelid d.adrelid AND a.attnum d.adnum WHERE n.nspname xxxx -- 模式名 AND c.relkind r -- 普通表 AND a.attnum 0 -- 排除系统隐藏字段 ORDER BY c.relname, a.attnum;