AnolisOS 8.8 PostgreSQL 获取表字段结构信息

突然接到领导派发的一个需求,现场需要一份当前某个模块下的业务表结构设计说明。需要提供的信息如下:表名、字段名称、字段类型长度、字段备注等信息。

SELECT c.table_name,
       c.column_name,   
       c.data_type,  
       c.character_maximum_length,  
       c.is_nullable,  
       c.column_default,  
       CASE 
         WHEN kcu.column_name IS NOT NULL THEN 'PRIMARY KEY'  
		 ELSE ''  
	   END AS column_key,  
       pgd.description AS column_comment  
FROM information_schema.columns c  
LEFT JOIN information_schema.key_column_usage kcu ON c.table_schema = kcu.table_schema   
    AND c.table_name = kcu.table_name   
    AND c.column_name = kcu.column_name   
LEFT JOIN pg_catalog.pg_description pgd  
    ON pgd.objoid = (  
        SELECT d.oid   
        FROM pg_catalog.pg_class d
        WHERE d.relname = c.table_name   
        AND d.relnamespace = (SELECT n.oid FROM pg_catalog.pg_namespace n WHERE n.nspname = c.table_schema) )  
    AND pgd.objsubid = c.ordinal_position  
WHERE   
    c.table_schema = 'public'  
ORDER BY   
    c.table_name, c.ordinal_position; 

最终的效果如下

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值