29.10. Настройки конфигурации#

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.