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?
fuente
pg_basebackup
, ya se encarga de esto. 3. Postgres eliminará automáticamente los archivos WALpg_log
cuando ya no sean necesarios. No deberías hacer nada manualmentepg_log
. De lo contrario, vea elwal_keep_segments
parámetropg_xlog
está completamente administrado automáticamente por postgres, mientras que la carpeta de archivo está completamente administrada por el DBA.Existe una herramienta existente que lo ayudará mucho, WAL-E . Proporciona un
archive_command
yrestore_command
para PITR a S3.No hay comandos para hacer copias de seguridad lógicas incrementales o diferenciales .
pg_dump
no puede tomar un incremental o diferencial. La única forma de hacerlo es mediante el archivo de registro.En teoría, podría tomar una nueva copia de seguridad completa, hacer una diferencia binaria entre ella y la última copia de seguridad, y cargar la diferencia. Sin embargo, esto me parece una forma frágil e ineficiente de hacer las cosas, y realmente no lo recomendaría.
Además, PgBarman admite la integración con S3 a través de scripts de enlace y automatizará gran parte de la rotación y administración de copias de seguridad. De nuevo, esto puede no ser una opción en Windows.
fuente