Добрый день. Есть два сервера основной (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 можно отключить