@@ -61,14 +61,15 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
61
61
session will request a number of <link linkend="bgworker">background
62
62
worker processes</link> equal to the number
63
63
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
66
67
parallel query to run with fewer workers than planned, or even with
67
68
no workers at all. The optimal plan may depend on the number of workers
68
69
that are available, so this can result in poor query performance. If this
69
70
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
72
73
<xref linkend="guc-max-parallel-workers-per-gather"> so that the planner
73
74
requests fewer workers.
74
75
</para>
@@ -203,6 +204,14 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
203
204
</para>
204
205
</listitem>
205
206
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
+
206
215
<listitem>
207
216
<para>
208
217
The client sends an Execute message with a non-zero fetch count.
0 commit comments