PostgreSql查询表索引信息

查询索引详细信息如下:

SELECT
    tab.relname as 表名,
    cls.relname as 索引名,
    am.amname as 索引类型,
    CASE WHEN idx.indisprimary = 't' THEN '是' ELSE '否' END AS 是否主键,
    CASE WHEN idx.indisunique = 't' THEN '是' ELSE '否' END AS 是否唯一索引,
    att.attname as 字段名,
    CASE WHEN att.attlen > 0 THEN format_type(att.atttypid, att.atttypmod) ELSE format_type(att.atttypid, NULL) END AS 字段类型,
    des.description as 字段描述
FROM
    pg_index idx
INNER JOIN pg_class cls ON cls.oid = idx.indexrelid
INNER JOIN pg_class tab ON tab.oid = idx.indrelid
INNER JOIN pg_am am ON am.oid = cls.relam
INNER JOIN pg_namespace ns ON ns.oid = tab.relnamespace
INNER JOIN pg_attribute att ON att.attrelid = tab.oid AND att.attnum = ANY(idx.indkey)
LEFT JOIN pg_description des ON des.objoid = tab.oid AND des.objsubid = att.attnum
WHERE
    tab.relname = 'device';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值