Sobes.tech
Middle

PostgreSQL'de takılı kalan işlemler nasıl tespit edilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

PostgreSQL'de takılı kalan işlemler, uzun süre aktif veya idle in transaction durumunda kalan ve tamamlanmayan işlemlerdir. Bunları tanımlamak için sistem kataloğu pg_stat_activity sorgusu kullanılabilir.

Bunları bulmak için örnek sorgu:

SELECT pid, usename, state, query, xact_start, now() - xact_start AS duration
FROM pg_stat_activity
WHERE state IN ('idle in transaction', 'active')
  AND xact_start IS NOT NULL
  AND now() - xact_start > interval '5 minutes'
ORDER BY duration DESC;

Burada, "idle in transaction" veya "active" durumda olan ve 5 dakikadan uzun süredir devam eden işlemleri inceliyoruz. Bu işlemler diğer işlemleri engelleyebilir ve takılmalara neden olabilir.

Daha derin analizler için pg_locks kullanılarak kilitler kontrol edilebilir ve bunlar pg_stat_activity içindeki işlemlerle ilişkilendirilebilir.