Mencoba melakukan pencadangan tambahan setiap jam dari satu server Postgres (Win7 64).
Saya memiliki pengaturan berikut di postgresql.conf
:
max_wal_senders = 2
wal_level = archive
archive_mode = on
archive_command = 'copy "%p" "c:\\postgres\\foo\\%f"'
(mengulang kembali)
Saya melakukan backup dasar dengan pg_basebackup -U postgres -D ..\foo -F t -x
Yang membuat base.tar
file besar di foo
folder dan menambahkan beberapa 16.384 file KB, yang saya anggap WAL.
Apa yang saya tidak mengerti adalah mengapa WAL di foo
tidak berubah . WAL dalam data/pg_xlog
perubahan. Apakah pg tidak seharusnya menyalinnya? Bagaimana cara memutuskan untuk melakukannya?
Mungkin saya perlu mengatur archive_timeout=3600
?
Saya telah melihat beberapa situs (milis pg, halaman postgres bacula) yang mengatakan Anda perlu memanggil pg_start_backup () dan pg_stop_backup (), tetapi saya percaya bahwa itu tidak diperlukan. Benarkah itu?
Pertanyaan sekunder:
Seberapa sering WALs
data/pg_xlog
ditulis? Apa yang memicu penulisan?Tampaknya untuk memperbarui WAL jika saya melakukan DML maka
\q
dalam psql. Atau edit tabel di pgAdmin lalu tutup jendela. Saya pikir itu akan menulis di komit.Praktik terbaik? pg_basebackup seminggu sekali? Mengarsipkan WAL ke mesin yang sama dengan PG atau mesin jarak jauh?
sumber
pg_basebackup
, ini sudah menangani ini. 3. postgres akan secara otomatis menghapus file WALpg_log
ketika mereka tidak lagi diperlukan. Anda tidak boleh melakukan apa pun secara manual dipg_log
. Jika tidak, lihatwal_keep_segments
parameterpg_xlog
sepenuhnya dikelola secara otomatis oleh postgres, sedangkan folder arsip sepenuhnya dikelola oleh DBA.Ada alat yang ada yang akan banyak membantu Anda, WAL-E . Ini memberikan
archive_command
danrestore_command
untuk PITR ke S3.Tidak ada perintah untuk melakukan backup logis inkremental atau diferensial .
pg_dump
tidak dapat mengambil inkremental atau diferensial. Satu-satunya cara untuk melakukannya adalah melalui pengarsipan log.Secara teori Anda bisa mengambil cadangan penuh baru, lakukan perbedaan biner di antara itu dan cadangan terakhir, dan unggah beda. Ini menurut saya sebagai cara yang rapuh dan tidak efisien untuk melakukan sesuatu, dan saya benar-benar tidak akan merekomendasikannya.
Selain itu, PgBarman mendukung integrasi dengan S3 melalui skrip kait, dan akan mengotomatisasi banyak rotasi dan manajemen cadangan untuk Anda. Sekali lagi, ini mungkin bukan opsi di Windows.
sumber