On Sun, Jul 12, 2020 at 2:27 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > David Rowley <dgrowle...@gmail.com> writes: > > hmm yeah. It's unfortunate, but I'm not sure how I'd have implemented > > it differently. The problem is made worse by the fact that we'll only > > release the memory for the hash table during ExecEndHashJoin(). If the > > planner had some ability to provide the executor with knowledge that > > the node would never be rescanned, then the executor could release the > > memory for the hash table after the join is complete. > > EXEC_FLAG_REWIND seems to fit the bill already?
FWIW I have a patch that does exactly that, which I was planning to submit for CF2 along with some other patches that estimate and measure peak executor memory usage.