max_parallel_workers
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | 8 | user | integer |
| 15 | 8 | user | integer |
| 16 | 8 | user | integer |
| 17 | 8 | user | integer |
| 18 | 8 | user | integer |
| 19 | 8 | user | integer |
클러스터 전체에서 병렬 작업에 쓸 수 있는 worker 수의 상한을 정한다. 기본값은 8이다.
이 값은 병렬 작업 전용 예산이다. parallel worker는 max_worker_processes가 만든 worker 프로세스 풀에서 가져오므로, max_parallel_workers를 max_worker_processes보다 크게 설정해도 초과분은 효과가 없다. 반대로 이 값 아래에는 개별 소비자의 한도인 max_parallel_workers_per_gather(쿼리당)와 max_parallel_maintenance_workers(유틸리티 명령당)가 있다. 정리하면 max_worker_processes ≥ max_parallel_workers ≥ 개별 한도의 계층 구조다.
값을 올리거나 내릴 때는 max_parallel_workers_per_gather와 max_parallel_maintenance_workers도 같이 조정하는 것을 고려해야 한다. 전체 예산만 늘리고 개별 한도를 그대로 두면 효과가 없고, 개별 한도만 올리면 예산이 먼저 바닥난다.
출처: PostgreSQL 18 문서