Skip to content

Instantly share code, notes, and snippets.

@UtkucanBykl
Last active July 5, 2017 14:03
Show Gist options
  • Save UtkucanBykl/eea8dbc2253e866b1578f8ec3b24032f to your computer and use it in GitHub Desktop.
Save UtkucanBykl/eea8dbc2253e866b1578f8ec3b24032f to your computer and use it in GitHub Desktop.

WAL Nedir ?

WAl (Write Ahead Logging) veritabanında bir sorun olduğunda , veritabanını kullanan uygulamalarda ki işleyişin sekteye uğramaması için kullanılan bir protokoldur.

Nasıl Olur ?

Wal , işletim sisteminde ki herhangi bir değişikliği (insert,update vs) config dosyasında belirlediğimiz zaman sonra yedek olarak olarak oluşturduğu veritabanına ekler.Olası bir istenmeyen durumda(çökme vs) yedek olarak oluşturduğu veritabanı çalışmaya başlar bu sayede bu veritabanına bağlı uygulamalar sekteye uğramamış olur.

image image

Kuralları

  • Atomic Rule Her işlem (insert,update,delete) veritabanına yazılmadan önce log olarak kaydedilmelidir.
  • Durabilty rule Her transaction işlemi commit olmadan önce log olarak kaydedilmelidir.

Wal Açma

SELECT pg_start_backup('archive');

image

Şuanki Wal'ı gösterir

select pg_current_xlog_location();

image

Wal Config Ayarları

wal_level = hot_standby
max_wal_senders = 5 # Yedek sunucuda maksimum eş zamanlı bağlanma için sınır
wal_keep_segments = 32
archive_mode    = on
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment