• 关于pgsql输出表结构的问题


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

    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 这个表存储了所有属性列

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

  • 相关阅读:
    glob
    【转载】分词小结
    【pandas】基本处理
    【pandas】函数映射:map() /apply() /applymap()
    C# 获取计算机信息
    oracle 关键字
    oracle 触发器
    C# DataTable分页处理
    C#常用控件介绍
    C# 关键字【转】
  • 原文地址:https://www.cnblogs.com/dtiove/p/5730444.html
Copyright © 2020-2023  润新知