On Thu, Jul 26, 2018 at 1:14 AM, Etsuro Fujita <fujita.ets...@lab.ntt.co.jp> wrote: > because we currently don't consider gathering partial child-scan or > child-join paths. I think we might consider that in future, though.
You generally want to put the Gather node as high up in the plan tree as possible. I think the only case in which this is beneficial is if you can't put the Gather or Gather Merge node above the Append because only some of the children are parallel-safe. In that case, a separate Gather per child can be better than no parallelism at all. It's a rare case, but it can happen. Actually, I thought we had code for this already: see the end of apply_scanjoin_target_to_paths(). -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company