потоковая репликация

Добрый день. Есть два сервера основной (master) и резервный (slave).
Настроил между ними репликацию пока что только в тестовом режиме.

Master:
wal_level = hot_standby
archive_mode = on
archive_command = 'cp %p /mnt/arc/%f'
max_wal_senders=1

Slave:
hot_standby=on
recovery.conf
standby_mode = 'on'
primary_conninfo = 'host=master_ip port=5432 user=postgres password=xxxxxx'
restore_command='cp /mnt/arc/%f %p'

После запустил master и спустя некоторое время запустил slave. В итоге slave выплюнул следующее:
2011-11-09 21:06:36 MSK LOG: restored log file "000000010000000000000001" from archive
2011-11-09 21:06:36 MSK WARNING: WAL was generated with wal_level=minimal, data may be missing
2011-11-09 21:06:36 MSK HINT: This happens if you temporarily set wal_level=minimal without taking a new base backup.
2011-11-09 21:06:36 MSK FATAL: hot standby is not possible because wal_level was not set to "hot_standby" on the master server
2011-11-09 21:06:36 MSK HINT: Either set wal_level to "hot_standby" on the master, or turn off hot_standby here.
2011-11-09 21:06:36 MSK LOG: startup process (PID 15987) exited with exit code 1
2011-11-09 21:06:36 MSK LOG: aborting startup due to startup process failure

Этого wal-файла 000000010000000000000001 действительно не хватает в /mnt/arc (удалил ничайно). Получается, если я когда-нибудь поменяю slave-сервер на другой то мне надо хранить все wal, чтобы потом скормить ему их???

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Сам этим не занимался, но

Сам этим не занимался, но мыслю так.
У вас должна быть горячая копия. Значит.
1. Останавливаем Master. Копируем содержимое каталога с данными и WAL на slave.
2. Запускаем Master
3. Запускаем Slave

2011-11-09 21:06:36 MSK FATAL: hot standby is not possible because wal_level was not set to "hot_standby" on the master server
2011-11-09 21:06:36 MSK HINT: Either set wal_level to "hot_standby" on the master, or turn off hot_standby here.

Здесь вам чётко написало, что надо сделать. Поскольку у вас host_standby на Master'е в on, то вы должны на Slave сделать off, а у вас тоже on стоит судя по тому что вы показали:

Slave:
hot_standby=on

нет, надо было правильно

нет, надо было правильно выполнить системный бекап и режим archive можно отключить

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023