微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql导出数据库文档

select t.name as "表名",k."属性",k."数据类型",k."长度",k."主键约束",k."唯一约束",
k."外键约束",k.nullable "是否非空",k.comment as "注释" from(select a.attrelid,


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 nullable,

col_description(a.attrelid,a.attnum) as comment

from pg_attribute a

)k
left join (
SELECT a.oid,
a.relname AS name,
b.description AS comment
FROM pg_class a
LEFT OUTER JOIN pg_description b ON b.objsubid=0 AND a.oid = b.objoid
WHERE a.relnamespace = (SELECT oid FROM pg_namespace WHERE nspname=‘public‘) --用户表一般存储在public模式下
AND a.relkind=‘r‘
ORDER BY a.relname
)t on t.oid=k.attrelid where t.name is not null

 

参考:https://www.cnblogs.com/nami/p/4112339.html

http://www.cnblogs.com/jxycn/p/5215822.html?locationNum=6&fps=1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐