On 2014-09-01 11:59:37 -0400, Tom Lane wrote: > Greg Stark <st...@mit.edu> writes: > > On Sun, Aug 31, 2014 at 9:03 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > >> Aside from costing planning time, most likely that would forever prevent > >> us from pushing some types of intelligence about partitioning into the > >> executor. > > > How would it affect this calculus if there were partitioned indexes > > which were created on the overall table and guaranteed to exist on > > each partition that the planner could use -- and then possibly also > > per-partition indexes that might exist in addition to those? > > That doesn't actually fix the planning-time issue at all. Either the > planner considers each partition individually to create a custom plan > for it, or it doesn't.
We could have a information about the indexing situation in child partitions on the toplevel table. I.e. note whether child partitions have individual indexes. And possibly constraints. > The "push into executor" idea I was alluding to is that we might invent > plan constructs like a ModifyTable node that applies to a whole > inheritance^H^H^Hpartitioning tree and leaves the tuple routing to be > done at runtime. You're not going to get a plan structure like that > if the planner is building a separate plan subtree for each partition. It doesn't sound impossible to evaluate at plan time whether to use nodes covering several partitions or use a separate subplan for individual partitions. We're going to need information which partitions to scan in those nodes anyway. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers