Tek bir Postgres sunucusunun saatlik artımlı yedekini yapmaya çalışmak (Win7 64).
Aşağıdaki kurulum var postgresql.conf
:
max_wal_senders = 2
wal_level = archive
archive_mode = on
archive_command = 'copy "%p" "c:\\postgres\\foo\\%f"'
(tekrar başlat)
İle temel bir yedekleme yaptım pg_basebackup -U postgres -D ..\foo -F t -x
Hangi klasörde büyük bir base.tar
dosya yaptı foo
ve bazı 16,384 KB dosyaları ekledi, ki ben WALs olduğunu varsayalım.
Anlamadığım şey , WAL'ların neden foo
değişmediğidir . Değişen WAL'lar data/pg_xlog
. Pg'nin bunları kopyalaması gerekmez mi? Bunu yapmaya nasıl karar veriyor?
Belki de ayarlamam gerekir archive_timeout=3600
?
Pg_start_backup () ve pg_stop_backup () çağırmanız gerektiğini söyleyen birkaç site (pg'nin posta listeleri, bacula'nın postgres sayfası) gördüm, ancak bunların gerekli olmadığına inanıyorum. Bu doğru mu?
İkincil sorular:
WAL'ler ne sıklıkla
data/pg_xlog
yazılıyor? Bir yazmayı ne tetikler?Ben
\q
psql sonra bazı DML yaparsanız bir WAL güncelleme gibi görünüyor . Veya pgAdmin'de bir tablo düzenleyin ve ardından pencereyi kapatın. Taahhüt üzerine yazacağını düşündüm.En iyi uygulamalar? pg_basebackup haftada bir kez mi? WAL'leri PG veya uzak bir makineyle aynı makineye arşivle?