Junior — Middle
PostgreSQL'de uzun süren sorguyu nasıl tespit edip analiz edebilirsiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
PostgreSQL'de uzun süren sorguları tespit etmek için, mevcut aktif sorguları ve çalışma sürelerini gösteren sistem görünümü pg_stat_activity kullanılabilir. Örneğin, şu sorgu:
SELECT pid, now() - query_start AS duration, query
FROM pg_stat_activity
WHERE state = 'active'
ORDER BY duration DESC
LIMIT 5;
en uzun süren 5 aktif sorguyu görebilir.
Daha derin analizler için, postgresql.conf dosyasında yavaş sorgu kaydını etkinleştirebilirsiniz:
log_min_duration_statement = 1000 # 1000 ms'den uzun süren sorguları kaydet
Bundan sonra, bu süreden uzun süren tüm sorgular loglara kaydedilecektir.
Ayrıca, profil oluşturma araçları ve EXPLAIN ANALYZE kullanmak, belirli sorguların yürütme planını analiz etmek ve darboğazları tespit etmek için faydalıdır.