On Sat, Oct 6, 2018 at 2:59 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > The reasons why we need locks on tables not physically accessed by the > query are (a) to ensure that we've blocked, or received sinval messages > for, any DDL related to views or partition parent tables, in case that > would invalidate the plan; (b) to allow firing triggers safely, in > the case of partition parent tables. Neither of these issues apply to > a parallel worker -- the plan is already frozen before it can ever > start, and it isn't going to be firing any triggers either.
That last part could *easily* change in a future release. We've already started to allow CTAS with parallel query, and there have already been multiple people wanting to allow more. It would be a shame if we threw up additional obstacles in the way of that... -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company