概述
select
(select relname ||’–’||(select description from pg_description where objoid = oid and objsubid = 0) from pg_class where oid=a.attrelid) as 表名,
a.attname as 列名,
format_type(a.atttypid,a.atttypmod) as 类型,
(case when atttypmod-4>0 then atttypmod-4 else 0 end) as 长度,
(case when (select count() from pg_constraint where conrelid=a.attrelid and conkey[1]=attnum and contype=‘p’)>0 then ‘Y’ else ‘N’ end) as 主键约束,
(case when (select count() from pg_constraint where conrelid=a.attrelid and conkey[1]=attnum and contype=‘u’)>0 then ‘Y’ else ‘N’ end) as 唯一约束,
(case when (select count(*) from pg_constraint where conrelid=a.attrelid and conkey[1]=attnum and contype=‘f’)>0 then ‘Y’ else ‘N’ end) as 外键约束,
(case when a.attnotnull=true then ‘Y’ else ‘N’ end) as 可否为空,
col_description(a.attrelid,a.attnum) as 描述
from pg_attribute a where attstattarget=-1 and attrelid in(select oid from pg_class where relname in (select relname as table_name from pg_class where relkind=‘r’ and relname like ‘%’ order by relname))
order by 表名,attnum;
//relname为表名称,%为全部表,re_%为re开头的表
最后
以上就是花痴滑板为你收集整理的postgresql生成数据字典的全部内容,希望文章能够帮你解决postgresql生成数据字典所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复