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