max_logical_replication_workers
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | 4 | postmaster (재시작) | int |
| 15 | 4 | postmaster (재시작) | integer |
| 16 | 4 | postmaster (재시작) | integer |
| 17 | 4 | postmaster (재시작) | integer |
| 18 | 4 | postmaster (재시작) | integer |
| 19 | 4 | postmaster (재시작) | integer |
logical replication worker의 최대 개수를 정한다. leader apply worker, parallel apply worker, table synchronization worker가 모두 여기에 포함된다. 기본값은 4이고 서버를 시작할 때만 설정할 수 있으며, subscription을 실행하는 subscriber 쪽에 적용된다.
logical replication worker는 max_worker_processes가 정의한 pool에서 가져온다. 따라서 이 값을 올릴 때는 max_worker_processes도 함께 검토해야 하고, parallel query 등 다른 background worker와 같은 pool을 나눠 쓴다는 점도 고려해야 한다.
운영 노트: subscription 수에 초기 table synchronization 여유분을 더해 잡는다. 초기 복사 중에는 subscription당 apply worker 하나에
max_sync_workers_per_subscription만큼의 synchronization worker가 추가로 붙는다.출처: PostgreSQL 18 문서