Hi,
On 2019-11-04 12:18:48 -0500, Tom Lane wrote:
> Andrew Gierth <andrew@tao11.riddles.org.uk> writes:
> > Using 92MB of disk for one integer seems excessive; the reason is clear
> > from the explain:
> > ...
> > so the whole width of the table is being stored in the tuplestore used
> > by the windowagg.
>
> > In create_windowagg_plan, we have:
>
> > /*
> > * WindowAgg can project, so no need to be terribly picky about child
> > * tlist, but we do need grouping columns to be available
> > */
> > subplan = create_plan_recurse(root, best_path->subpath, CP_LABEL_TLIST);
>
> > Obviously we _do_ need to be more picky about this; it seems clear that
> > using CP_SMALL_TLIST | CP_LABEL_TLIST would be a win in many cases.
> > Opinions?
>
> Seems reasonable to me, do you want to do the honors?
I was briefly wondering if this ought to be backpatched. -0 here, but...
Greetings,
Andres Freund