SELECT A.attnum AS "序号",C.relname AS "表名",CAST (obj_description (C.OID) AS VARCHAR) AS "表名描述",A.attname AS "列名",T.typname AS "字段类型",
REPLACE(
REPLACE(SUBSTRING(format_type (A.atttypid,A.atttypmod) FROM '\(.*\)'),'(',''),')','') AS "字段长度",d.description AS "备注",pg_get_expr (def.adbin,def.adrelid) AS "默认值",CASE WHEN con.conname IS NOT NULL THEN 'YES' ELSE 'NO' END AS "是否主键",i.relname AS "索引名称",am.amname AS "索引类型" FROM pg_attribute A LEFT JOIN pg_description d ON d.objoid=A.attrelid AND d.objsubid=A.attnum LEFT JOIN pg_class C ON A.attrelid=C.OID LEFT JOIN pg_type T ON A.atttypid=T.OID LEFT JOIN pg_attrdef def ON A.attrelid=def.adrelid AND A.attnum=def.adnum LEFT JOIN pg_index i_idx ON A.attrelid=i_idx.indrelid AND A.attnum=ANY (i_idx.indkey) LEFT JOIN pg_class i ON i_idx.indexrelid=i.OID LEFT JOIN pg_am am ON i.relam=am.OID LEFT JOIN pg_constraint con ON con.conrelid=A.attrelid AND A.attnum=ANY (con.conkey) AND con.contype='p' WHERE A.attnum>=0 AND C.relname='pub_menu' ORDER BY C.relname DESC,A.attnum ASC;
