PostgreSQL Replikasyon Slotları ve Biriken WAL
Aktif olmayan slotları ve tuttukları WAL miktarını gösterir. Terk edilmiş bir slotun diski doldurmasını önlemek için kritiktir.
SELECT slot_name, slot_type, active, restart_lsn,
pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS retained_wal
FROM pg_replication_slots
ORDER BY pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn) DESC NULLS LAST;Primary üzerinde çalıştırın. Kullanılmayan slot için `pg_drop_replication_slot('ad')` (yazma etkisi) gerekir.
- 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: 10) 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?
PostgreSQL Replikasyon Gecikmesi Müdahalesi
WAL üretimi, aktarımı, yazılması ve replay aşamalarını ayrı ayrı ölçerek gecikmenin ağ, disk veya sorgu kaynaklı nedenini bulur.
PostgreSQL WAL Dizini Doluyor
WAL büyümesini replikasyon slotu, arşivleme, replika ve yazma yükü olarak ayırır; dosyaları elle silmeden güvenli alan kazanma sırasını gösterir.
PostgreSQL Disk Doldu Acil Müdahale
Veri, WAL ve geçici alan doluluğunda güvenli kapasite kazanma adımlarını, dosya silme anti-pattern'lerini ve kurtarma doğrulamasını açıklar.
PostgreSQL Transaction ID Wraparound Acil Durumu: Dondurma (Freeze) Planı
XID yaşı kritik seviyeye ulaştığında veritabanını yazmaya kapanmaktan kurtaran adımları verir. Engelleyicileri temizler ve VACUUM FREEZE'i doğru sırayla çalıştırır.
Diğer POSTGRESQL Teşhis Scriptleri
Tümünü Gör (100)PostgreSQL'de Uzun Süren Sorguları ve Idle in Transaction Oturumlarını Bulma
Bir dakikadan uzun süredir çalışan sorguları, bekleme olaylarını ve vacuum'u engelleyen idle in transaction oturumlarını listeler. Performans olaylarında ilk bakılacak script'tir.
PostgreSQL Kilit Zinciri: Kim Kimi Blokluyor?
pg_blocking_pids ile bloklanan ve bloklayan oturumları, sorgularıyla ve bekleme süreleriyle eşleştirir. Zincirin kök nedenini saniyeler içinde gösterir.
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.
PostgreSQL'de Kullanılmayan İndeksleri Bulma
Hiç taranmamış, unique veya primary key olmayan indeksleri boyutlarıyla listeler. Gereksiz yazma maliyetini ve disk alanını geri kazanmak için temizlik adayı çıkarır.