SELECT
A.attnum AS "序号",
C.relname AS "表名",
CAST ( obj_description ( relfilenode, 'pg_class' ) AS VARCHAR ) AS "表名描述",
A.attname AS "字段名",
T.typname AS "类型",
CASE when
SUBSTRING ( format_type ( A.atttypid, A.atttypmod ) FROM '\(.*\)' ) isNUll
then '0'
else
substr(SUBSTRING ( format_type ( A.atttypid, A.atttypmod ) FROM '\(.*\)' ),2,CHAR_LENGTH(SUBSTRING ( format_type ( A.atttypid, A.atttypmod ) FROM '\(.*\)' ))-2)
end as "长度",
CASE
A.attnotnull
WHEN 't' THEN
'是'
WHEN 'f' THEN
'否'
END AS 不是null,
CASE
A.attnotnull
WHEN 't' THEN
'是'
END AS "主键",
d.description AS "注释"
FROM
pg_class C,
pg_attribute A,
pg_type T,
pg_description d
WHERE
-- 表名
C.relname = 'j_auditing'
AND A.attnum > 0
AND A.attrelid = C.oid
AND A.atttypid = T.oid
AND d.objoid = A.attrelid
AND d.objsubid = A.attnum

CAST ( obj_description ( relfilenode, 'pg_class' ) AS VARCHAR ) AS cc
注意---可以将relfilenode切换为pg_class表中的oid字段,来对应原始的描述翻译