【PostgreSql】生成數據字典


pg查詢元數據,生成表數據字典:

 

效果:

 

  

代碼:

SELECT
    A .attname 字段,   
    concat_ws (
        '',
        T .typname,
        SUBSTRING (
            format_type (A .atttypid, A .atttypmod)
            FROM
                '\(.*\)'
        )
    ) AS 類型,
        case when s.pk is not null then ''
                               else ''
    end as 主鍵,
    case A.attnotnull when 'f' then ''
                      when 't' then ''
    end as 空,
    d.description 注釋
FROM pg_attribute A
INNER JOIN pg_class C on A .attrelid = C .oid
INNER JOIN pg_type T on A .atttypid = T .oid
LEFT JOIN (SELECT conrelid, unnest(conkey) as pk
                        FROM pg_constraint
                        WHERE contype = 'p') S ON S.conrelid = C .oid
                                   AND A.attnum = S.pk
LEFT JOIN pg_description d on d.objoid = A .attrelid
                                                    AND d.objsubid = A .attnum
LEFT JOIN pg_namespace n on n.oid = c.relnamespace    
WHERE A.attnum > 0
AND n.nspname = 'public'   
AND C.relname = 't_gfecp_bigdata_blacklist'
ORDER BY
    C .relname,
    A .attnum

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM