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