Réinitialiser les statistiques pg_stat_statements (toutes ou une seule requête)
PostgreSQLPerformancesCommande
-- Last reset time and number of entries evicted because the table was full (dealloc)
SELECT dealloc, stats_reset FROM pg_stat_statements_info;
-- Reset a single query only (userid, dbid, queryid; 0 = all)
SELECT pg_stat_statements_reset(0, 0, 5927525816675996975);
-- Reset all statistics
SELECT pg_stat_statements_reset();Ce que fait la commande
Réinitialise les compteurs pg_stat_statements entièrement ou par utilisateur/base/queryid ; pg_stat_statements_info affiche l'heure de la dernière réinitialisation et combien d'entrées ont été évincées faute de place.
Quand l'utiliser
Pour repartir d'une mesure propre avant un changement de tuning (index, paramètre, déploiement) ou pour mesurer isolément le nouveau plan d'une requête.
Attention
Une réinitialisation est irréversible ; les outils de supervision/APM qui reposent sur des compteurs cumulés afficheront un trou, faites donc d'abord un snapshot (voir la procédure sur les régressions de plan). Si dealloc ne cesse d'augmenter, pg_stat_statements.max est trop petit (le modifier exige un redémarrage). Par défaut, seuls les superutilisateurs peuvent l'exécuter ; accordez-le avec GRANT EXECUTE ON FUNCTION.
Voir aussi
- Trouver les requêtes les plus coûteuses (pg_stat_statements : temps total et moyen)
- Trouver les requêtes à l'origine des E/S disque, fichiers temporaires et WAL (pg_stat_statements)
- Journaliser les plans d'exécution des requêtes lentes avec auto_explain
- Lire un plan en profondeur avec EXPLAIN (ANALYZE, BUFFERS, SETTINGS, WAL)
- Détecter les régressions de plan par queryid (comparaison de snapshots pg_stat_statements)
- Vérifier la capacité de requêtes parallèles et l'utilisation actuelle des workers