กำลังพยายามสำรองข้อมูลเพิ่มรายชั่วโมงของเซิร์ฟเวอร์ Postgres เดียว (Win7 64)
ฉันมีการตั้งค่าต่อไปนี้ในpostgresql.conf:
max_wal_senders = 2
wal_level = archive
archive_mode = on
archive_command = 'copy "%p" "c:\\postgres\\foo\\%f"'
(เริ่มต้นใหม่)
ฉันได้สำรองฐานกับ pg_basebackup -U postgres -D ..\foo -F t -x
ซึ่งทำให้base.tarไฟล์ขนาดใหญ่ในfooโฟลเดอร์และเพิ่มไฟล์ 16,384 KB ซึ่งผมถือว่าเป็น WAL
สิ่งที่ผมไม่เข้าใจคือทำไม Wals ในfooไม่เปลี่ยนแปลง การdata/pg_xlogเปลี่ยนแปลงใน WAL pg ไม่ควรคัดลอกไปหรือไม่ มันจะตัดสินใจอย่างไร
บางทีฉันต้องตั้งค่าarchive_timeout=3600?
ฉันเห็นหลายไซต์ (รายการส่งเมลของ pg, หน้า postgres ของ bacula) ที่บอกว่าคุณต้องโทรหา pg_start_backup () และ pg_stop_backup () แต่ฉันเชื่อว่าไม่จำเป็นต้องใช้ มันเป็นเรื่องจริงเหรอ?
คำถามรอง:
WALs
data/pg_xlogเขียนบ่อยแค่ไหน? อะไรเป็นสาเหตุของการเขียนดูเหมือนว่าจะปรับปรุง WAL ถ้าฉันทำ DML บางส่วนแล้ว
\qใน psql หรือแก้ไขตารางใน pgAdmin จากนั้นปิดหน้าต่าง ฉันคิดว่ามันจะเขียนความมุ่งมั่นปฏิบัติที่ดีที่สุด? pg_basebackup สัปดาห์ละครั้งหรือไม่ เก็บถาวร WAL ไปยังเครื่องเดียวกันกับ PG หรือเครื่องระยะไกลหรือไม่