mirror of
https://github.com/postgres/postgres.git
synced 2025-05-01 01:04:50 +03:00
Prevent parallel index build in a standalone backend.
This can't work if there's no postmaster, and indeed the code got an assertion failure trying. There should be a check on IsUnderPostmaster gating the use of parallelism, as the planner has for ordinary parallel queries. Commit 40d964ec9 got this right, so follow its model of checking IsUnderPostmaster at the same place where we check for max_parallel_maintenance_workers == 0. In general, new code implementing parallel utility operations should do the same. Report and patch by Yulin Pei, cosmetically adjusted by me. Back-patch to v11 where this code came in. Discussion: https://postgr.es/m/HK0PR01MB22747D839F77142D7E76A45DF4F50@HK0PR01MB2274.apcprd01.prod.exchangelabs.com
This commit is contained in:
parent
4f728a1f5f
commit
16a1e1ea4f
@ -6254,8 +6254,11 @@ plan_create_index_workers(Oid tableOid, Oid indexOid)
|
|||||||
double reltuples;
|
double reltuples;
|
||||||
double allvisfrac;
|
double allvisfrac;
|
||||||
|
|
||||||
/* Return immediately when parallelism disabled */
|
/*
|
||||||
if (max_parallel_maintenance_workers == 0)
|
* We don't allow performing parallel operation in standalone backend or
|
||||||
|
* when parallelism is disabled.
|
||||||
|
*/
|
||||||
|
if (!IsUnderPostmaster || max_parallel_maintenance_workers == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Set up largely-dummy planner state */
|
/* Set up largely-dummy planner state */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user