Próba zrobienia co godzinę przyrostowej kopii zapasowej pojedynczego serwera Postgres (Win7 64).
Mam następującą konfigurację w postgresql.conf
:
max_wal_senders = 2
wal_level = archive
archive_mode = on
archive_command = 'copy "%p" "c:\\postgres\\foo\\%f"'
(uruchom ponownie)
Zrobiłem kopię zapasową z pg_basebackup -U postgres -D ..\foo -F t -x
Który utworzył duży base.tar
plik w foo
folderze i dodał około 16 384 KB plików, które, jak zakładam, to WAL.
Nie rozumiem, dlaczego WALs foo
się nie zmieniają . Zmiany WALs data/pg_xlog
. Czy pg nie powinno ich kopiować? Jak się na to decyduje?
Być może muszę ustawić archive_timeout=3600
?
Widziałem kilka stron (listy mailingowe pg, strona postgres Bacoli), które mówią, że musisz wywołać pg_start_backup () i pg_stop_backup (), ale uważam, że nie są one wymagane. Czy to prawda?
Wtórne pytania:
Jak często
data/pg_xlog
napisane są WAL ? Co powoduje zapis?Wydaje się aktualizować WAL, jeśli zrobię trochę DML, a następnie
\q
w psql. Lub edytuj tabelę w pgAdmin, a następnie zamknij okno. Pomyślałem, że napiszę przy zatwierdzeniu.Najlepsze praktyki? pg_basebackup raz w tygodniu? Zarchiwizować WAL na tym samym komputerze co PG lub na komputerze zdalnym?