Herkese selamlar ,
Bu makalemde Postqresql üzerinde uzun süren sorgular nasıl bulunur anlık olarak locking blockingler nasıl görülür kriz ve yavaşlık anlarında hızlıca nasıl bir analiz yapıp müdahale edebiliriz gibi sorulara cevap vermeye çalışacağız ;
Öncelikle her veritabanı yönetimi sisteminde olduğu gibi PostgreSQL’de de bir transaction yapısı mevcuttur.
Bu transactionları aktif sorguları görmek için daha önceki makalemizde bahsettiğimiz gibi pg_stat_activity isimli dmv’yi kullanacağız bu dmv çalışan sorgular hakkında bir çok bilgiyi tutar ;
İlk olarak sistemde 1 dakikadan uzun süren sorguları görmek istiyor isem aşağıdaki şekilde bir sorgu gerekli olacaktır.
SELECT pid,now()-pg_stat_activity.query_start AS duration,query,state from pg_stat_activity WHERE (now()-pg_stat_activity.query_start)>interval ‘1 minutes’;
Bu sorgu da bulunan interval kısmını artırarak 2,3,4,5,10 gibi değerler vererek daha uzun süren sorguları da görebilirsiniz;
Umarım Yararlı bir makale olmuştur. Herkese iyi okumalar ;