При потоковой репликации на главном сервере хранятся файлы объемом как минимум равным значению Wai_keep_segments. Если резервный сервер отключен надолго, на главном сервере не сохранятся данные с момента последней передачи и придется снова настраивать резервный сервер.
Заметьте, что во время получения базовой резервной копии резервный сервер не участвует в репликации, и если процесс длится слишком долго, то репликация не начнется, так как на сервере уже не будет данных за соответствующий период. Вы получите такое сообщение об ошибке:
Это очень неприятно, и нет способа исправить ошибку. Поэтому начните с очень большого значения Wai_keep_segments. Если то же сообщение об ошибке все же появляется, нужно увеличить это значение и попытаться восстановить репликацию. Возможно, следует использовать способы, ускоряющие резервное копирование. Если нельзя увеличить значение Wai_keep_segments, То для данных репликации требуется устройство большего объема, скорее всего, на другом узле. На главном сервере команда Archive.Command Должна помещать файлы на архивный сервер, тогда как выше описана команда-заглушка. Резервный сервер должен будет извлекать из архива файлы с помощью команды Restore.Command И участвовать в репликации с использованием Primary_conninfo. Таким образом, у главного и резервного серверов будет два режима обмена данными, и они смогут переключаться между режимами в случае сбоя. Такова типичная конфигурация для больших баз данных. Заметьте, что при этом данные WAL копируются дважды: один раз на архивный сервер, а второй раз — на резервный. Это, конечно, затратно, зато более надежно.
Рубрика: Женский интерес