Zerar as estatísticas do pg_stat_statements (todas ou de uma única consulta)
PostgreSQLDesempenhoComando
-- 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();O que faz
Zera os contadores do pg_stat_statements totalmente ou por usuário/banco/queryid; pg_stat_statements_info mostra o horário do último reset e quantas entradas foram descartadas por falta de espaço.
Quando usar
Para iniciar uma medição limpa antes de uma mudança de tuning (índice, parâmetro, deploy) ou para medir isoladamente o novo plano de uma única consulta.
Atenção
Um reset não pode ser desfeito; ferramentas de monitoramento/APM que dependem de contadores cumulativos mostrarão uma lacuna, então tire um snapshot antes (veja a receita de regressão de plano). Se dealloc continuar crescendo, pg_stat_statements.max é pequeno demais (alterá-lo exige restart). Por padrão só superusuários podem executá-lo; conceda com GRANT EXECUTE ON FUNCTION.
Relacionados
- Encontrar as consultas mais caras (pg_stat_statements: tempo total e médio)
- Encontrar as consultas que geram I/O de disco, arquivos temporários e WAL (pg_stat_statements)
- Registrar os planos de execução de consultas lentas com auto_explain
- Ler um plano em profundidade com EXPLAIN (ANALYZE, BUFFERS, SETTINGS, WAL)
- Detectar regressões de plano por queryid (comparação de snapshots do pg_stat_statements)
- Verificar a capacidade de consulta paralela e o uso atual de workers