SELECT
tab.relname as 表名,
cls.relname as 索引名,
am.amname as 索引类型,CASEWHEN idx.indisprimary ='t'THEN'是'ELSE'否'ENDAS 是否主键,CASEWHEN idx.indisunique ='t'THEN'是'ELSE'否'ENDAS 是否唯一索引,
att.attname as 字段名,CASEWHEN att.attlen >0THEN format_type(att.atttypid, att.atttypmod)ELSE format_type(att.atttypid,NULL)ENDAS 字段类型,
des.description as 字段描述
FROM
pg_index idx
INNERJOIN pg_class cls ON cls.oid = idx.indexrelid
INNERJOIN pg_class tab ON tab.oid = idx.indrelid
INNERJOIN pg_am am ON am.oid = cls.relam
INNERJOIN pg_namespace ns ON ns.oid = tab.relnamespace
INNERJOIN pg_attribute att ON att.attrelid = tab.oid AND att.attnum =ANY(idx.indkey)LEFTJOIN pg_description des ON des.objoid = tab.oid AND des.objsubid = att.attnum
WHERE
tab.relname ='device';