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;

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

相关推荐
JSON_L3 分钟前
MongoDB文档关系详解
数据库·mongodb
卓怡学长15 分钟前
w268基于springboot + vue 物流系统
java·数据库·vue.js·spring boot·spring·intellij-idea
.Cnn43 分钟前
Redis基础day02
java·数据库·redis
能有时光1 小时前
[MAF的Agent管道详解-07]利用AIAgent中间件构建Agent管道
java·数据库
迷枫7121 小时前
简单sql与dm功能实验记录
数据库·sql·oracle
蚁库1 小时前
Oracle 19c 文件系统安装实战教程:从规划到日常管理完整流程
数据库·oracle
枫叶丹41 小时前
Loop Engineering:从提示词到循环系统
数据库·redis·缓存·loop
zhanghaofaowhrql1 小时前
Spring Data JPA Repository 详解:从基础到高级用法
java·数据库·sql
techdashen2 小时前
Uber 如何让 MySQL Group Replication 在大规模生产环境中可用:自动化、故障转移与一致性保障
数据库·mysql·自动化
阿成学长_Cain10 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备
linux·运维·服务器·网络·数据库