逻辑复制需要设置多个配置选项。大多数选项仅与复制的一侧相关。但是,max_replication_slots
在发布者和订阅者上都会使用,但它们对每个都有不同的含义。
wal_level
必须设置为 logical
。
max_replication_slots
必须设置为至少等于预期连接的订阅数,再加上一些用于表同步的预留值。
max_wal_senders
应至少设置为与 max_replication_slots
相同的值,再加上同时连接的物理副本的数量。
逻辑复制 walsender 也受 wal_sender_timeout
的影响。
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
的影响。
如果您在文档中发现任何不正确、与您使用特定功能的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。