Essayer de faire une sauvegarde incrémentielle toutes les heures d'un seul serveur Postgres (Win7 64).
J'ai la configuration suivante dans postgresql.conf
:
max_wal_senders = 2
wal_level = archive
archive_mode = on
archive_command = 'copy "%p" "c:\\postgres\\foo\\%f"'
(redémarrer)
J'ai fait une sauvegarde de base avec pg_basebackup -U postgres -D ..\foo -F t -x
Ce qui a fait un gros base.tar
fichier dans le foo
dossier et ajouté quelques fichiers 16,384 KB, qui je suppose sont des WAL.
Ce que je ne comprends pas, c'est pourquoi les WAL foo
ne changent pas . Les WAL en data/pg_xlog
mutation. Pg n'est pas censé les copier? Comment décide-t-il de le faire?
Peut-être que je dois régler archive_timeout=3600
?
J'ai vu plusieurs sites (listes de diffusion de pg, page postgres de bacula) qui disent que vous devez appeler pg_start_backup () et pg_stop_backup (), mais je pense que ceux-ci ne sont pas requis. Est-ce vrai?
Questions secondaires:
À quelle fréquence les WAL
data/pg_xlog
sont-ils écrits? Qu'est-ce qui déclenche une écriture?Il semble mettre à jour un WAL si je fais du DML puis
\q
en psql. Ou modifiez un tableau dans pgAdmin puis fermez la fenêtre. J'ai pensé qu'il écrirait sur commit.Les meilleures pratiques? pg_basebackup une fois par semaine? Archiver les WAL sur la même machine que PG ou une machine distante?