pg查询表名、字段名、类型、注释、是否为空等:
(1)查询某模式下所有表名:
select tablename from pg_tables where schemaname='模式名'
(2)获取表名及注释:
select relname as tabname,cast(obj_description(relfilenode,'pg_class') as varchar) as comment from pg_class c? where ?relkind = 'r' and relname not like 'pg_%' and relname not like 'sql_%' order by relname
(3)获取某个表的字段名、类型、注释、是否为空:
SELECT col_description(a.attrelid,a.attnum) as comment,format_type(a.atttypid,a.atttypmod) as type,a.attname as name, a.attnotnull as notnull ??FROM pg_class as c,pg_attribute as a where c.relname = '表名' and a.attrelid = c.oid and a.attnum>0
(4)获取某模式下某个表的字段名、类型、注释、是否为空:
SELECT col_description(a.attrelid,a.attnum) as comment,format_type(a.atttypid,a.atttypmod) as type,a.attname as name, a.attnotnull as notnull FROM pg_class as c,pg_attribute as a where c.relname in(select tablename from pg_tables where schemaname='模式名') and c.relname = '表名' and a.attrelid = c.oid and a.attnum>0