ITPub博客

首页 > 数据库 > 数据库开发技术 > PG 数据库查询字段属性的脚本

PG 数据库查询字段属性的脚本

原创 数据库开发技术 作者:babyyellow 时间:2015-07-03 11:23:39 0 删除 编辑
要查pg 的表结构,除了登陆psql 客户端 执行\d table_name,另一种方法就是通关SQL 查询,
如下:看起来好像很复杂。
SELECT b.table_name,a.attname,pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type ,col_description(a.attrelid,a.attnum) as comment 
 FROM  pg_catalog.pg_attribute a,
       (SELECT  c.oid,c.relname as table_name
          FROM  pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n  ON n.oid = c.relnamespace  
        WHERE c.relkind = 'r'
         and n.nspname = 'cbs') b 
 WHERE a.attrelid = b.oid 
   AND a.attnum > 0 
   AND NOT a.attisdropped 
 ORDER BY b.table_name,a.attnum





其中 
SELECT  c.oid,c.relname as table_name
          FROM  pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n  ON n.oid = c.relnamespace  
        WHERE c.relkind = 'r'   -- 类型是表
         and n.nspname = 'cbs_app'  --schema_name 


这部分查了某个schema 下面所有的表
根据表的oid 再到 pg_attribute  查对应属性


pg_catalog.format_type(atttypid,atttypmod) 查表的字段类型
pg_catalog.col_description(a.attrelid,a.attnum) 查字段的comment
attnum 指定了该列在表中的位置 从上到下按1...n 排序


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/133735/viewspace-1721335/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
oracle MySQL Postgresql 专职数据库dba。 系统架构师。 mysql 官方认知dba 。 15年专职dba 经验。 潜意识沟通实证者 心理咨询师。 禅修布道者, 禅修指导员。 禅定实证者。

注册时间:2010-12-02

  • 博文量
    367
  • 访问量
    1908883