类型: | integer |
默认: | 2 |
最低限度: | 0 |
最大: | 1024 |
上下文: | user |
重新开始: | false |
以来: | 9.6 |
设置单个Gather
或者Gather Merge
节点能够开始的工作者的最大数量。并行工作者会从max_worker_processes建立的进程池中取得,数量由max_parallel_workers限制。注意所要求的工作者数量在运行时可能实际无法被满足。如果这种事情发生,该计划将会以比预期更少的工作者运行,这可能会不太高效。默认值是2。把这个值设置为 0(默认值)将会禁用并行查询执行。
注意并行查询可能消耗比非并行查询更多的资源,因为每一个工作者进程时一个完全独立的进程,它对系统产生的影响大致和一个额外的用户会话相同。在为这个设置选择值时,以及配置其他控制资源利用的设置(例如work_mem)时,应该把这个因素考虑在内。work_mem之类的资源限制会被独立地应用于每一个工作者,这意味着所有进程的总资源利用可能会比单个进程时高得多。例如,一个使用 4 个工作者的并行查询使用的 CPU 时间、内存、I/O 带宽可能是不使用工作者时的 5 倍之多。
并行查询的更多信息请见parallel-query。
建议 [EN]
Increase if you plan to use parallel query to 4 or 8, depending on cores/concurrent sessions.