Kısa Notlar: VACUUM, CHECKPOINT, ANALYZE

 VACUUM / VACUUM FULL

  • silinen ve değiştirilen satırların disk üzerindeki kapladıkları alanın geri kazanımı
  • pg query planner tarafından kullanılan istatistiklerin güncellenmesi
  • Transaction ID wraparound sorununa karşı veri kayıpların önlenmesi
  • Vacuum, production ile beraber çalışabilir fakat Vacuum Full çalışamaz çünkü exclusive lock koyar ve yavaştır.
  • Vacuum Full, tabloların boyutunu minimuma indirmek için kullanılabilir.
  • Günde 1 kere vacuum yararlı olur. Bandwith’in de düşük olduğu zaman tercih edilmelidir.

 CHECKPOINT

“Dirty Page” leri diske yazma işlemini üstlenir.
Sadece checkpoint buffer da sürekli erişilen verileri diske yazar ve tüm bufferları temizleyebilir.

checkpoint sıklığı kontrolü:

  • log_checkpoints=on yapılır ve loglar izlenir.
  • pg_stat_bgwriter tablosunun verdiği değerlere bakılabilir.
checkpoint ne zaman yapılır?
  • zamanı geldiğinde
  • db fazla iş yaptığında (insert/update vb)
  • kullanıcı komutuyla

BGWRITER:

bgwriter en az erişilenleri (LRU) diske yazmakla görevlidir ve tüm bufferı temizleyemez.

Erkin Çakar

PostgreSQL DBA & Software developer