Intentando hacer una copia de seguridad incremental por hora de un único servidor Postgres (Win7 64).
Tengo la siguiente configuración en postgresql.conf
:
max_wal_senders = 2
wal_level = archive
archive_mode = on
archive_command = 'copy "%p" "c:\\postgres\\foo\\%f"'
(reiniciar)
Hice una copia de seguridad base con pg_basebackup -U postgres -D ..\foo -F t -x
Lo que hizo un gran base.tar
archivo en la foo
carpeta y agregó algunos archivos de 16,384 KB, que supongo que son WAL.
Lo que no entiendo es por qué los WAL foo
no cambian . Los WAL en data/pg_xlog
cambio. ¿Se supone que pg no debe copiarlos? ¿Cómo decide hacerlo?
Tal vez necesito configurar archive_timeout=3600
?
He visto varios sitios (listas de correo de pg, página de postgres de bacula) que dicen que debe llamar a pg_start_backup () y pg_stop_backup (), pero creo que no son necesarios. ¿Es eso cierto?
Preguntas secundarias:
¿Con qué frecuencia se escriben los WAL
data/pg_xlog
? ¿Qué desencadena una escritura?Parece actualizar un WAL si hago algo de DML y luego
\q
en psql. O edite una tabla en pgAdmin y luego cierre la ventana. Pensé que escribiría en commit.¿Mejores prácticas? pg_basebackup una vez por semana? ¿Archivar WAL en la misma máquina que PG o una máquina remota?