กำลังพยายามสำรองข้อมูลเพิ่มรายชั่วโมงของเซิร์ฟเวอร์ 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 หรือเครื่องระยะไกลหรือไม่