dataiotech Labs
Script #10
postgresql
Performanceread-onlyMin Version: 9.x

PostgreSQL'de Sürekli Sequential Scan Yapılan Tablolar

Çok sayıda satırı sequential scan ile okuyan tabloları bulur. Eksik indeks adaylarını belirlemek için ilk adımdır.

#seq-scan#missing-index#pg_stat_user_tables
postgresql · sql
SELECT schemaname, relname, seq_scan, seq_tup_read,
       idx_scan, n_live_tup,
       round(seq_tup_read::numeric / NULLIF(seq_scan, 0)) AS avg_rows_per_seq_scan
FROM pg_stat_user_tables
WHERE seq_scan > 0 AND n_live_tup > 10000
ORDER BY seq_tup_read DESC
LIMIT 20;
Operasyonel Notlar & İyileştirme Aksiyonu

Küçük tablolarda seq scan normaldir; filtre alanına göre indeks açmadan önce ilgili sorguyu `EXPLAIN` ile doğrulayın.

Üretim Güvenliği & Çalıştırma Standartları
  • Bu script salt okunur (read-only) teşhis için tasarlanmıştır; doğrudan veri veya şema değişikliği yapmaz.
  • Ağır yük altındaki üretim sunucularında çalıştırmadan önce hedef veritabanı sürümünü (Min. Sürüm: 9.x) doğrulayın.
  • İlişkili oturumu sonlandırma veya indeks silme gibi yazma etkili aksiyonlar için notlar bölümündeki komutları temkinli uygulayın.

Mühendislik Triadı: İlgili Runbook ve Kriz Müdahaleleri

Bu script hangi üretim alarmlarında ve acil durum tatbikatlarında teşhis adımı olarak çalıştırılır?

Runbook Kütüphanesi (63)
Proaktif Bakım & Rutin Sağlık Taraması: Bu script acil durum alarmına bağlı değildir; planlı bakım, kapasite planlama ve rutin DBA sağlık kontrolleri için kullanılır.