29.12. Параметры конфигурации #
Логическая репликация требует установки нескольких параметров конфигурации. Эти параметры актуальны только на одной стороне репликации.
29.12.1. Публикующие серверы #
Для wal_level должно быть установлено значение logical.
Для параметра max_replication_slots должно быть задано число не меньше ожидаемого числа подписчиков плюс некоторый резерв для синхронизации таблиц.
В работе слотов логической репликации также учитывается параметр idle_replication_slot_timeout.
В max_wal_senders должно быть значение как минимум равное max_replication_slots плюс число возможных физических реплик, работающих одновременно.
В работе передатчика данных логической репликации также учитывается параметр wal_sender_timeout.
29.12.2. Подписчики #
Для параметра max_active_replication_origins должно быть задано значение не меньше числа подписок, на которые будет подписываться данный подписчик, плюс некоторый резерв для синхронизации таблиц.
Для 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.