postgresql获取表结构,表名、表注释、字段名、字段类型及长度和字段注释


场景描述:navicate 将postgresql表结构导出到Excel。

1、查询表名和表注释

select relname as tabname,
cast(obj_description(relfilenode,'pg_class') as varchar) as comment 
from pg_class c 
where   relname ='t_bt_data' ;


2、查询字段名、字段类型及字段长度和字段注释

select a.attnum AS "序号",
c.relname AS "表名",
cast(obj_description(relfilenode,'pg_class') as varchar) AS "表名描述",
a.attname AS "列名",
concat_ws('',t.typname,SUBSTRING(format_type(a.atttypid,a.atttypmod) from '\(.*\)')) as "字段类型",
d.description AS "备注"
from pg_class c, pg_attribute a , pg_type t, pg_description d 
where  c.relname = 't_bt_data'
and a.attnum>0 
and a.attrelid = c.oid 
and a.atttypid = t.oid 
and  d.objoid=a.attrelid
and d.objsubid=a.attnum
ORDER BY c.relname DESC,a.attnum ASC ;


其他:通过查询sql,可以导出结果到EXCEL中。

相关