Postgresql 中文操作指南
31.10. Configuration Settings #
逻辑复制要求设置几个配置选项。大多数选项仅与复制的一侧相关。然而,max_replication_slots 用于发布者和订阅者,但对于每个选项,它都有不同的含义。
31.10.1. Publishers #
wal_level 必须设置为 logical 。
max_replication_slots 必须至少设置为预期连接的订阅数量,加上一些表同步储备。
max_wal_senders 应至少设置为与 max_replication_slots 相同,加上同时连接的物理副本的数量。
逻辑复制 walsender 也受 wal_sender_timeout 影响。
31.10.2. Subscribers #
必须将 max_replication_slots 至少设置为将添加到订阅中的订阅数,再加上一些用于表同步的保留值。
必须将 max_logical_replication_workers 至少设置为订阅数(对于 leader 应用工作程序)再加上用于表同步工作程序和并行应用工作程序的保留值。
可能需要调整 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 影响。