我更改了 Amazon RDS Postgresql 中的参数max_sync_workers_per_subscription
并验证它在 master 数据库中发生了变化:
db=> show max_sync_workers_per_subscription;
max_sync_workers_per_subscription
-----------------------------------
2
(1 row)
db=> show max_sync_workers_per_subscription;
max_sync_workers_per_subscription
-----------------------------------
4
(1 row)
问题在于复制仍在使用旧2
值,因为 CPU 使用率仍然只为每个逻辑复制工作者使用 2 个内核,这意味着该设置已应用于订阅。
以下是副本中的一些相关设置:
db=# show max_worker_processes;
max_worker_processes
----------------------
8
(1 row)
db=# show max_logical_replication_workers;
max_logical_replication_workers
---------------------------------
4
(1 row)
正如文档所述,和仅与订阅
max_sync_workers_per_subscription
者max_logical_replication_workers
相关:另请注意,这两个值都不能超过 设置的限制
max_worker_processes
。为了安全起见,请禁用并启用订阅。