dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
PostgreSQL / Backup & Recovery / Runbooks
Teknik Uygulama Rehberimedium30 dk
postgresql (14–18)
mysql (14–18)
sqlserver (14–18)

Şişen Tablo / Bloat & Fragmentation Müdahale Rehberi

Yoğun UPDATE/DELETE alan tablolarda ölü satırların (dead tuples) diski şişirmesi ve sorguları yavaşlatmasına karşı sıfır kesintili çözüm adımları.

Gerekli Ön Koşullar & Güvenlik İlkeleri:
Tablo boyutunun en az 1.5 katı kadar boş disk alanıpg_repack veya online index rebuild araçları
1

Bloat Oranını Tespit Etme

Ölü satır oranı %20'nin üzerinde olan ve autovacuum tarafından temizlenemeyen tabloları listeleyin.

SELECT schemaname, tablename, pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) AS total_size, n_dead_tup, n_live_tup, round(100.0 * n_dead_tup / nullif(n_live_tup + n_dead_tup, 0), 2) AS dead_tuple_pct FROM pg_stat_user_tables WHERE n_dead_tup > 10000 ORDER BY n_dead_tup DESC LIMIT 10;
2

Sıfır Kesintiyle Tabloyu Sıkıştırma (pg_repack)

`VACUUM FULL` tablonun tamamına Exclusive Lock koyarak uygulamayı durdurur. Bunun yerine kilit koymayan `pg_repack` veya MySQL `ALTER TABLE ... ALGORITHM=INPLACE` kullanın.

pg_repack -d production_db -t sales_transactions
Topluluk Katkısı & Benchmark

Restore Tatbikatı Deneyiminizi veya Sonuçlarınızı Paylaşın

Altyapınızdaki gerçek RTO/RPO sürelerini, PostgreSQL sürümünüzü, tercih ettiğiniz yaklaşımı ve karşılaştığınız engelleri anonim veya isimli olarak paylaşın. Sektör benchmark'ına katkıda bulunun.

İlgili Karar Matrisleri ve Ekip Kılavuzları