@@ -61,14 +61,15 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
6161 session will request a number of <link linkend="bgworker">background
6262 worker processes</link> equal to the number
6363 of workers chosen by the planner. The total number of background
64- workers that can exist at any one time is limited by
65- <xref linkend="guc-max-worker-processes">, so it is possible for a
64+ workers that can exist at any one time is limited by both
65+ <xref linkend="guc-max-worker-processes"> and
66+ <xref linkend="guc-max-parallel-workers">, so it is possible for a
6667 parallel query to run with fewer workers than planned, or even with
6768 no workers at all. The optimal plan may depend on the number of workers
6869 that are available, so this can result in poor query performance. If this
6970 occurrence is frequent, considering increasing
70- <varname>max_worker_processes</> so that more workers can be run
71- simultaneously or alternatively reducing
71+ <varname>max_worker_processes</> and <varname>max_parallel_workers</>
72+ so that more workers can be run simultaneously or alternatively reducing
7273 <xref linkend="guc-max-parallel-workers-per-gather"> so that the planner
7374 requests fewer workers.
7475 </para>
@@ -203,6 +204,14 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
203204 </para>
204205 </listitem>
205206
207+ <listitem>
208+ <para>
209+ No background workers can be obtained because of the limitation that
210+ the total number of background workers launched for purposes of
211+ parallel query cannot exceed <xref linkend="guc-max-parallel-workers">.
212+ </para>
213+ </listitem>
214+
206215 <listitem>
207216 <para>
208217 The client sends an Execute message with a non-zero fetch count.
0 commit comments