Контекст:
Предположим, что при использовании потоковой репликации / горячего резервирования в кластере Postgres 9.1 резервный узел отключается. Он не работает в течение дня, в течение которого на мастере происходит много DML. Резервный файл recovery.conf не содержит запись 'restore_command' (для восстановления из файлов журнала WAL), но содержит строку 'primary_conninfo' (для потоковой репликации).
Вопрос:
Если я снова запускаю режим ожидания после дня изменений на мастере. Будет ли он «догонять» (в конечном итоге переходить в состояние, которое отражает мастер), используя только потоковую репликацию? Или мне нужно включить архивирование файлов WAL и разрешить ему применять файлы, заархивированные во время простоя, для обеспечения валюты?
Я проверил архивирование WAL / потоковую репликацию документа здесь , и он говорит , что вы не должен включить как WAL архивирования и потоковую репликацию, но неясно , является ли или не догоняющий будет происходить без архивирования WAL файла быть включен.
Благодарность!
источник
на резервном узле вы можете установить restore_command на recovery.conf, а затем скопировать файлы мастера pg_xlog (которые отсутствуют в режиме ожидания) в папку, на которую указывает restore_command. Вы можете легко найти, какие xlog-файлы отсутствуют, запустив узел запуска и набрав
там вы увидите «ожидание 000000020000005200000025» или что-то в этом роде, которое говорит вам, какой файл pg_xlog вы должны начать копировать с главного устройства на путь restore_command в режиме ожидания.
если вы включите wal_archiving, он запустит архив с момента установки.
источник
Нет, я настроил экземпляр потоковой репликации, и он как-то не синхронизировался, я не мог заставить его работать снова, пока не сделал руководство
rsync
по архивам WAL.источник