31.10. 配置设置 #
逻辑复制需要设置若干配置选项。大多数选项只在复制的一侧生效。但
max_replication_slots 在发布端和订阅端都要用到,只是在两侧含义不同。
31.10.1. 发布端 #
wal_level
必须设置为 logical。
max_replication_slots
必须至少设置为预期连接的订阅数量,再加上用于表同步的预留量。
max_wal_senders
应至少设置为 max_replication_slots,再加上同时连接的物理副本数量。
逻辑复制 walsender 还会受到
wal_sender_timeout
的影响。
31.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
的影响。
报告文档问题
阅读 上游文档. 通过 PostgreSQL 文档反馈表单.