dataiotech Labs
Script #3
postgresql
Maintenanceread-onlyMin Version: 9.4

PostgreSQL Dead Tuple, Bloat ve Autovacuum Durumu Kontrolü

Tablo bazında dead tuple oranını ve son vacuum/analyze zamanlarını gösterir. Autovacuum ayarının yetersiz kaldığı tabloları tespit etmenizi sağlar.

#vacuum#autovacuum#bloat#dead-tuples
postgresql · sql
SELECT schemaname, relname,
       n_live_tup, n_dead_tup,
       round(100.0 * n_dead_tup / NULLIF(n_live_tup + n_dead_tup, 0), 2) AS dead_pct,
       last_vacuum, last_autovacuum, last_autoanalyze,
       pg_size_pretty(pg_total_relation_size(relid)) AS total_size
FROM pg_stat_user_tables
WHERE n_dead_tup > 10000
ORDER BY n_dead_tup DESC
LIMIT 30;
Operasyonel Notlar & İyileştirme Aksiyonu

`dead_pct` sürekli %20 üzerindeyse tablo bazında `autovacuum_vacuum_scale_factor` düşürmeyi düşünü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.4) 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)
İlişkili Alarmlar ve Metrikler
M5PostgreSQL Transaction ID YaşıPostgreSQL
M6PostgreSQL Dead Tuple OranıPostgreSQL