Restablecer las estadísticas de pg_stat_statements (todas o una sola consulta)
PostgreSQLRendimientoComando
-- 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();Qué hace
Restablece los contadores de pg_stat_statements por completo o por usuario/base de datos/queryid; pg_stat_statements_info muestra la hora del último reset y cuántas entradas se descartaron por falta de espacio.
Cuándo usarlo
Para empezar una medición limpia antes de un cambio de tuning (índice, parámetro, despliegue) o para medir de forma aislada el nuevo plan de una sola consulta.
Precaución
Un reset no se puede deshacer; las herramientas de monitoreo/APM que dependen de contadores acumulados mostrarán un hueco, así que tome antes un snapshot (vea la receta de regresión de planes). Si dealloc sigue creciendo, pg_stat_statements.max es demasiado pequeño (cambiarlo requiere reinicio). Por defecto solo los superusuarios pueden ejecutarlo; concédalo con GRANT EXECUTE ON FUNCTION.
Relacionado
- Encontrar las consultas más costosas (pg_stat_statements: tiempo total y medio)
- Encontrar las consultas que generan I/O de disco, archivos temporales y WAL (pg_stat_statements)
- Registrar los planes de ejecución de las consultas lentas con auto_explain
- Leer un plan en profundidad con EXPLAIN (ANALYZE, BUFFERS, SETTINGS, WAL)
- Detectar regresiones de plan por queryid (comparación de snapshots de pg_stat_statements)
- Comprobar la capacidad de consultas paralelas y el uso actual de workers