14
Протокол репликации
Протокол
получение потока журнальных записей
команды управления резервным копированием и репликацией
Обслуживается процессом wal_sender
Параметр wal_level = replica
Слот репликации
серверный объект для получения журнальных записей
помнит, какая запись была считана последней
сегмент WAL не удаляется, пока он полностью не прочитан через слот
Чтобы сохранить файлы WAL, сгенерированные сервером за время
копирования файлов кластера, утилита подключается к серверу
по специальному протоколу репликации. Несмотря на название, этот
протокол используется не только для репликации (о которой пойдет
речь в следующей теме), но и для резервного копирования. Протокол
позволяет одновременно копировать файлы кластера и передавать
поток журнальных записей.
Чтобы сервер не удалил преждевременно необходимые файлы WAL,
может использоваться слот репликации, который хранит на сервере
информацию о последней полученной клиентом записи.
Чтобы подключение было возможно, необходим ряд настроек.
Во-первых, роль должна обладать атрибутом REPLICATION (или быть
суперпользователем) и иметь разрешение на подключение по
протоколу репликации в конфигурационном файле pg_hba.conf.
Во-вторых, параметр max_wal_senders должен быть установлен
в достаточно большое значение. Этот параметр ограничивает число
одновременно работающих процессов wal_sender, обслуживающих
подключения по протоколу репликации.
В-третьих, параметр wal_level, определяющий количество информации
в журнале, должен быть установлен в значение replica.
Настройки по умолчанию включают все эти требования (при локальном
подключении).