BT Sözlüğü › Veritabanları › full_page_writes

full_page_writes

Veritabanları Svenska → Güncellendi: 2026-10-11

PostgreSQL, her checkpoint’ten sonra bir sayfa ilk değiştiğinde sekiz kilobaytlık sayfanın tamamını işlem günlüğüne yazar. Yarım yazılmış sayfalara karşı savunma hattıdır.

Çözdüğü sorun yırtık sayfadır. Ne işletim sistemi ne de depolama, sekiz kilobaytlık bir yazmanın atomik olacağını garanti eder — yazma sırasında elektrik kesilirse sayfanın yarısı yeni, yarısı eski kalabilir. Böyle bir sayfa kullanılamaz ve WAL de yardımcı olmaz, çünkü günlük kayıtları değişiklikleri sayfanın sağlam olduğunu varsayarak anlatır. Sayfanın tamamını checkpoint sonrası ilk değişiklikte günlüğe koymak, kurtarmaya başlamak için her zaman eksiksiz bir kopya olmasını sağlar. Bedeli hatırı sayılırdır: WAL hacmi her checkpoint’in hemen ardından sıçrar, sonra düşer; günlük istatistiklerindeki testere dişi desenlerinin açıklaması budur. Yalnızca sayfa yazmalarının atomikliğini gerçekten garanti eden depolamada kapatın.

← Sözlüğe dön