pg_stat_statements istatistiklerini sıfırla (tümü veya tek sorgu)
PostgreSQLPerformansKomut
-- Son reset zamanı ve tablo dolduğu için atılan (dealloc) girdi sayısı
SELECT dealloc, stats_reset FROM pg_stat_statements_info;
-- Yalnızca tek sorgunun istatistiğini sıfırla (userid, dbid, queryid; 0 = hepsi)
SELECT pg_stat_statements_reset(0, 0, 5927525816675996975);
-- Tüm istatistikleri sıfırla
SELECT pg_stat_statements_reset();Ne yapar?
pg_stat_statements sayaçlarını tamamen ya da kullanıcı/veritabanı/queryid bazında sıfırlar; pg_stat_statements_info ile son reset zamanını ve kaç girdinin yer kalmadığı için atıldığını gösterir.
Ne zaman kullanılır?
Tuning değişikliği (index, parametre, deploy) öncesi temiz ölçüm başlatmak veya tek bir sorgunun yeni planını izole ölçmek için.
Dikkat
Reset geri alınamaz; izleme/APM araçları kümülatif sayaçlara dayanıyorsa veride boşluk oluşur, önce snapshot al (bkz. plan regresyonu reçetesi). dealloc sürekli artıyorsa pg_stat_statements.max yetersizdir (değişikliği restart ister). Varsayılan olarak yalnızca superuser çalıştırabilir; GRANT EXECUTE ON FUNCTION ile yetki verilebilir.
İlgili
- En pahalı sorguları bul (pg_stat_statements: toplam ve ortalama süre)
- Disk I/O, temp dosya ve WAL üreten sorguları bul (pg_stat_statements)
- auto_explain ile yavaş sorguların execution plan'ını logla
- EXPLAIN (ANALYZE, BUFFERS, SETTINGS, WAL) ile planı derinlemesine oku
- Plan regresyonunu queryid ile yakala (pg_stat_statements snapshot karşılaştırması)
- Paralel sorgu kapasitesini ve anlık worker kullanımını denetle