PostgreSQL 查看重复索引

在进行数据表结构的设计和 SQL 优化的过程中,有时候会遇到这样的场景,索引被重复创建,那么如何找出这些被重复创建的索引呢,下面这个语句可以帮助到我们。

WITH sub AS ( SELECT indrelid::regclass AS relname,

indexrelid::regclass AS idx,

(indrelid::text || indclass::text || indkey::text || COALESCE(indexprs::text, '') || COALESCE(indpred::text, '')) AS KEY

FROM pg_index )

SELECT relname,

(array_agg(idx))1 idx1,

pg_get_indexdef((array_agg(idx))1) idx1_def,

(array_agg(idx))2 idx2,

pg_get_indexdef((array_agg(idx))2) idx2_def,

(array_agg(idx))3 idx3,

pg_get_indexdef((array_agg(idx))3) idx3_def

FROM sub

GROUP BY relname, KEY

HAVING count(*) > 1;

备注:找出这些重复索引,然后根据需要进行删除。

相关推荐
灯澜忆梦3 分钟前
【MySQL7】多表查询
数据库·sql
Qlittleboy14 分钟前
tp5网站链接不上slqserver,计算机积极拒绝了链接
数据库·sql
行业研究员1 小时前
腾讯云数据库:团队知识统一检索实践
数据库·云计算·腾讯云·腾讯云数据库·团队知识
朱容zr3331331 小时前
什么是覆盖索引?它的优点是什么?
数据库
一十九的酒1 小时前
Oracle Data Guard 备库归档日志满导致同步中断的解决实战
数据库·oracle·oracle-dg 续传·归档空间满
changjiahong1 小时前
lvs总结
服务器·数据库·lvs
【心态好不摆烂】2 小时前
MySQL——复合查询
数据库·mysql
AC赳赳老秦2 小时前
CSDN 技术社区数据采集:OpenClaw 抓取公开技术热帖,生成领域技术热点周报
java·大数据·前端·数据库·python·php·openclaw
瞬间&永恒~2 小时前
【MySQL】 InnoDB 锁等待排查与并发压测实验
运维·数据库·mysql
布鲁飞丝2 小时前
对 .NET线程 异常退出引发程序崩溃的反思
数据库·c#·.net