zoukankan      html  css  js  c++  java
  • PostgreSql 查询表结构和说明

    select 
    (select relname from  pg_class where oid=a.attrelid) relname ,
    (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,
    
    (case when atttypmod-4>0 then atttypmod-4 else 0 end)data_length,
    
    (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
    
    where attstattarget=-1 and attrelid in (select oid from pg_class where relname in(select relname from pg_class where relkind ='r' and relname not like 'pg_%' ))
    
    order by relname,a.attnum;
  • 相关阅读:
    对我影响最大的三位导师
    global与nonlocal
    random模块
    time模块
    datetime模块
    sys模块
    os模块
    collection模块
    hashlib模块
    pickle模块
  • 原文地址:https://www.cnblogs.com/hzy168/p/10293408.html
Copyright © 2011-2022 走看看