Le but est de lister les index non utilisés, et une requête qui donne toutes les statistiques
2 Requêtes listant tous les index jamais utilisé sans les index internes des toast
| SELECT schemaname, relname as tablename, indexrelname as indexname, pg_size_pretty(pg_relation_size(indexrelid)) as index_size, idx_scan as nb_utilisations FROM pg_stat_user_indexes WHERE idx_scan = 0 AND indexrelname NOT LIKE 'pg_toast%' ORDER BY pg_relation_size(indexrelid) DESC; |
| SELECT schemaname, relname, indexrelname, pg_size_pretty(pg_relation_size(indexrelid)) as index_size, idx_scan FROM pg_stat_user_indexes WHERE idx_scan = 0 AND indexrelname NOT LIKE 'pg_toast%' ORDER BY pg_relation_size(indexrelid) DESC; |
Requête listant tous les index jamais utilisé avec les index internes des toast
| SELECT schemaname, relname, indexrelname, pg_size_pretty(pg_relation_size(indexrelid)) as index_size, idx_scan FROM pg_stat_user_indexes WHERE idx_scan = 0 ORDER BY pg_relation_size(indexrelid) DESC; |
Requête listant tous les index, triés par taille décroissante, avec des statistiques complètes.
| SELECT schemaname, relname, indexrelname, pg_size_pretty(pg_relation_size(indexrelid)) as index_size, idx_scan, idx_tup_read, idx_tup_fetch FROM pg_stat_user_indexes ORDER BY pg_relation_size(indexrelid) DESC; |