David Rowley <david.row...@2ndquadrant.com> writes: > On Wed, 27 Mar 2019 at 18:39, Amit Langote > <langote_amit...@lab.ntt.co.jp> wrote: >> On 2019/03/27 14:26, David Rowley wrote: >>> Perhaps the way to make this work, at least in the long term is to do >>> in the planner what we did in the executor in d73f4c74dd34.
>> Maybe you meant 9ddef36278a9? > Probably. Yeah, there's something to be said for having plancat.c open each table *and store the Relation pointer in the RelOptInfo*, and then close that again at the end of planning rather than immediately. If we can't avoid these retail table_opens without a great deal of pain, that's the direction I'd tend to go in. However it would add some overhead, in the form of a need to traverse the RelOptInfo array an additional time. regards, tom lane