# 获取所有表名及注释
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;
# 过滤掉分表:加条件 and relchecks=0 即可
select
relname as tabname,
cast(obj_description(relfilenode,'pg_class') as varchar) as comment
from pg_class c
where relchecks=0
and relkind = 'r'
and relname not like 'pg_%'
and relname not like 'sql_%'
order by relname;
# 获取字段名、类型、注释、是否为空
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;