Index inutilisés¶
La requête suivante détecte les index apparemment inutilisés, selon la vue pg_stat_user_indexes
.
Elle est extraite du module pgcluu_collectd
de pgCluu de [Gilles https://darold.net/).
Attention
Cette liste est à prendre avec précaution.
Elle dépend de la fraîcheur des statistiques d’activité et de leur date de réinitialisation.
Certains index rarement utilisés peuvent être vitaux pour des requêtes rarement passées (par exemple un rapport annuel).
SELECT
date_trunc('seconds', now()),
current_database(),
schemaname,
relname,
indexrelname,
pg_get_indexdef(pg_stat_user_indexes.indexrelid)
FROM
pg_stat_user_indexes
INNER JOIN pg_index ON pg_index.indexrelid = pg_stat_user_indexes.indexrelid
WHERE
NOT indexrelname ILIKE 'fki%%'
AND NOT indisprimary
AND NOT indisunique
AND idx_scan = 0
ORDER BY schemaname, relname, indexrelname;