Для работы логической репликации необходимо настроить ряд параметров конфигурации. Большинство из них относятся только к одной стороне репликации. Однако,
max_replication_slots используется как на издателе, так и на подписчике, но имеет для каждой стороны разное значение.
wal_level должен быть
установлен в logical.
max_replication_slots
должен быть не меньше количества ожидаемых подключений подписок
с учетом резерва для синхронизации таблиц.
max_wal_senders
должен быть не меньше значения
max_replication_slots, плюс количество одновременно подключенных физических реплик.
На процессы walsender логической репликации также влияет параметр
wal_sender_timeout.
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.