查询表以及表的所有列
SELECT
-- C.table_schema,
C.table_name,
obj_description(C.table_name::REGCLASS),
-- C.ordinal_position,
C.column_name,
D.description,
C.is_nullable,
C.data_type,
C.length,
C.numeric_scale,
C.is_pk,
D.adsrc
FROM (SELECT
A.table_schema,
A.table_name,
A.ordinal_position,
A.column_name,
A.is_nullable AS is_nullable,
A.data_type,
coalesce(A.character_maximum_length, A.numeric_precision, -1) as length,
A.numeric_scale,
CASE WHEN length(B.attname) > 0 THEN 1 ELSE 0 END AS is_pk
FROM
information_schema.columns A
LEFT JOIN (
SELECT
sys_class.oid,
sys_class.relname,
sys_attribute.attnum,
sys_attribute.attname
FROM
sys_index,
sys_class,
sys_attribute
WHERE
sys_class.RELNAMESPACE = 16386
AND sys_index.indrelid = sys_class.oid
AND sys_attribute.attrelid = sys_class.oid
AND sys_index.indrelid = sys_attribute.attrelid
AND sys_index.indisprimary = TRUE
AND sys_attribute.attnum = ANY (sys_index.indkey)
) B ON A.table_name = B.relname AND A.column_name = b.attname) C,
(SELECT E.attrelid,E.attnum,E.relname,E.attname,E.description,SA.adsrc FROM
(SELECT a.attrelid,a.attnum,c.relname,a.attname,b.description FROM sys_attribute a LEFT JOIN sys_description b ON a.attrelid=b.objoid AND a.attnum = b.objsubid ,sys_class c
WHERE a.attrelid = c.oid AND c.RELNAMESPACE = 16386) E LEFT JOIN sys_attrdef SA ON E.attrelid = SA.adrelid AND E.attnum = SA.adnum) D
WHERE
C.table_name = D.relname
AND C.column_name = D.attname
AND C.table_schema = 'INVEST'
AND C.table_name = 'T_BUSI_IMPORTANT_PROJECT_INFO'
ORDER BY
ordinal_position ASC;