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?
regards, tom lane