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_timeoutwal_receiver_status_intervalwal_retrieve_retry_interval 影响。