Alterei o parâmetro max_sync_workers_per_subscription
no Amazon RDS Postgresql e verifiquei que ele foi alterado no banco de dados mestre:
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)
O problema é que a replicação ainda está usando o valor antigo, 2
pois o uso da CPU ainda usa apenas 2 núcleos para cada trabalhador de replicação lógica, o que significa que a configuração foi aplicada à assinatura.
Abaixo estão algumas configurações relevantes na réplica:
db=# show max_worker_processes;
max_worker_processes
----------------------
8
(1 row)
db=# show max_logical_replication_workers;
max_logical_replication_workers
---------------------------------
4
(1 row)
Ambos
max_sync_workers_per_subscription
emax_logical_replication_workers
são relevantes apenas no assinante, como diz a documentação :Observe também que ambos os valores não podem exceder o limite definido por
max_worker_processes
. Para estar no lado seguro, desative e ative a assinatura.