Попытка сделать почасовое инкрементное резервное копирование одного сервера 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папке и добавило около 16384 КБ файлов, которые, я полагаю, являются WAL.
Чего я не понимаю, так это почему WAL fooне меняются . WALS в data/pg_xlogизменении. Разве pg не должен копировать их? Как он решает это сделать?
Возможно, мне нужно установить archive_timeout=3600?
Я видел несколько сайтов (списки рассылки pg, страница postgres bacula), на которых написано, что вам нужно вызывать pg_start_backup () и pg_stop_backup (), но я считаю, что они не обязательны. Это правда?
Дополнительные вопросы:
Как часто
data/pg_xlogзаписываются WAL ? Что вызывает запись?Кажется, чтобы обновить WAL, если я делаю некоторые DML, то
\qв psql. Или отредактируйте таблицу в pgAdmin, затем закройте окно. Я полагал, что это напишет на коммите.Лучшие практики? pg_basebackup раз в неделю? Архивировать WAL на той же машине, что и PG, или на удаленной машине?