On Tue, Dec 1, 2020 at 3:54 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > > Yulin PEI <ype...@connect.ust.hk> writes: > > Yes, I agree because (IsNormalProcessingMode() ) means that current process > > is not in bootstrap mode and postmaster process will not build index. > > So my new modified patch is attached. > > This is a good catch, but the proposed fix still seems pretty random > and unlike how it's done elsewhere. It seems to me that since > index_build() is relying on plan_create_index_workers() to assess > parallel safety, that's where to check IsUnderPostmaster. Moreover, > the existing code in compute_parallel_vacuum_workers (which gets > this right) associates the IsUnderPostmaster check with the initial > check on max_parallel_maintenance_workers. So I think that the > right fix is to adopt the compute_parallel_vacuum_workers coding > in plan_create_index_workers, and thereby create a model for future > uses of max_parallel_maintenance_workers to follow.
+1 Regards, -- Masahiko Sawada EnterpriseDB: https://www.enterprisedb.com/