首页 > 数据库技术 > 详细

关于pgsql输出表结构的问题

时间:2016-08-02 21:03:30      阅读:338      评论:0      收藏:0      [点我收藏+]

今天公司中,因为要提供给其他开发人员,可以根据自己的需求查询数据库表的需求,所以经过一番测试,总结出了下面的一种方法

sql如下:

select

(select relname||‘----‘||(select description from pg_description where objoid=oid and objsubid=0) as comment from pg_class where oid=a.attrelid) as table_name,

"a".attname as column_name,

format_type("a".atttypid,"a".atttypmod) as data_type,

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

from pg_attribute "a"

where attstattarget=-1 and attrelid in (select oid from pg_class where relname in(select relname from pg_class))

order by table_name,"a".attnum;

 

下面做一下说明:

pg_description 是保存注释信息的系统表,但是比较尴尬的是,只保存了他所在属性列的id

pg_class  表记载表和几乎所有有 字段或者是那些类似表的东西。包括索引(不过还要参阅 pg_index),序列,视图,复合类型和一些特殊关系类型

pg_attribute 这个表存储了所有属性列

 

技术分享

 

 

最终结果大致就显示成这样,然后可以把这样的结果放在一个视图 或者重新新建一个形式表,然后再分类进行查询

关于pgsql输出表结构的问题

原文:http://www.cnblogs.com/dtiove/p/5730444.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!