29.10. Параметры конфигурации #

Логическая репликация требует установки нескольких параметров конфигурации. Большинство параметров актуальны только на одной стороне репликации. Однако параметр max_replication_slots используется как на публикующем сервере, так и на подписчике, но имеет разное значение.

29.10.1. Публикующие серверы #

Для wal_level должно быть установлено значение logical.

Для параметра max_replication_slots должно быть задано число не меньше ожидаемого числа подписчиков плюс некоторый резерв для синхронизации таблиц.

В max_wal_senders должно быть значение как минимум равное max_replication_slots плюс число возможных физических реплик, работающих одновременно.

В работе передатчика данных логической репликации также учитывается параметр wal_sender_timeout.

29.10.2. Подписчики #

Для параметра max_replication_slots должно быть задано значение не меньше числа подписок, на которые будет подписываться данный подписчик, плюс некоторый резерв для синхронизации таблиц.

Для max_logical_replication_workers должно быть установлено значение, равное как минимум количеству подписок (для ведущих процессов применения), плюс некоторый резерв для рабочих процессов синхронизации таблиц и рабочих процессов параллельного применения.

Кроме того, может потребоваться изменить max_worker_processes, чтобы это число включало дополнительные рабочие процессы для репликации (как минимум max_logical_replication_workers + 1). Обратите внимание, что некоторые расширения и параллельные запросы также занимают слоты из числа max_worker_processes.

Параметр max_sync_workers_per_subscription управляет степенью распараллеливания копирования начальных данных в процессе инициализации подписки или при добавлении новых таблиц.

max_parallel_apply_workers_per_subscription управляет степенью распараллеливания для потоковой передачи незавершённых транзакций с параметром подписки streaming = parallel.

На рабочие процессы логической репликации также влияют параметры wal_receiver_timeout, wal_receiver_status_interval и wal_retrieve_retry_interval.