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;

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

相关推荐
电商API_1800790524711 分钟前
微店商品详情接口micro.item_get请求参数响应参数解析
大数据·数据库·人工智能·爬虫
勤匠11 分钟前
在CentOS上以源码编译的方式安装PostgreSQL
linux·postgresql·centos
····懂···1 小时前
开源数据库PostgreSQL专家技术
数据库·postgresql·开源
Asu52022 小时前
思途SQL学习 0729
数据库·sql·学习
北亚数据恢复2 小时前
服务器数据恢复—RAID上层部署的oracle数据库数据恢复案例
数据库·oracle·服务器数据恢复·北亚数据恢复
不辉放弃3 小时前
kafka的消息存储机制和查询机制
数据库·kafka·pyspark·大数据开发
ZZH1120KQ4 小时前
ORACLE的用户维护与权限操作
数据库·oracle
妮妮喔妮4 小时前
图片上传 el+node后端+数据库
javascript·数据库·vue.js
仰望星空的凡人10 小时前
【JS逆向基础】数据库之MongoDB
javascript·数据库·python·mongodb
duration~11 小时前
PostgreSQL并发控制
数据库·postgresql