Thread: pgsql: Rework HashAgg GUCs.

pgsql: Rework HashAgg GUCs.

From
Jeff Davis
Date:
Rework HashAgg GUCs.

Eliminate enable_groupingsets_hash_disk, which was primarily useful
for testing grouping sets that use HashAgg and spill. Instead, hack
the table stats to convince the planner to choose hashed aggregation
for grouping sets that will spill to disk. Suggested by Melanie
Plageman.

Rename enable_hashagg_disk to hashagg_avoid_disk_plan, and invert the
meaning of on/off. The new name indicates more strongly that it only
affects the planner. Also, the word "avoid" is less definite, which
should avoid surprises when HashAgg still needs to use the
disk. Change suggested by Justin Pryzby, though I chose a different
GUC name.

Discussion: https://postgr.es/m/CAAKRu_aisiENMsPM2gC4oUY1hHG3yrCwY-fXUg22C6_MJUwQdA%40mail.gmail.com
Discussion: https://postgr.es/m/20200610021544.GA14879@telsasoft.com
Backpatch-through: 13

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/92c58fd94801dd5c81ee20e26c5bb71ad64552a8

Modified Files
--------------
doc/src/sgml/config.sgml                   | 31 +++---------
src/backend/optimizer/path/costsize.c      |  3 +-
src/backend/optimizer/plan/planner.c       | 20 ++++----
src/backend/utils/misc/guc.c               | 16 ++----
src/include/optimizer/cost.h               |  3 +-
src/test/regress/expected/aggregates.out   | 46 ++++++++---------
src/test/regress/expected/groupingsets.out | 80 ++++++++++++++----------------
src/test/regress/expected/sysviews.out     |  4 +-
src/test/regress/sql/aggregates.sql        | 36 +++++++-------
src/test/regress/sql/groupingsets.sql      | 38 +++++++-------
10 files changed, 119 insertions(+), 158 deletions(-)


Re: pgsql: Rework HashAgg GUCs.

From
Peter Geoghegan
Date:
On Thu, Jun 11, 2020 at 1:05 PM Jeff Davis <jdavis@postgresql.org> wrote:
> Rework HashAgg GUCs.

This commit broke the doc build:

https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=crake&dt=2020-06-11%2020%3A17%3A29

Thanks
-- 
Peter Geoghegan



Re: pgsql: Rework HashAgg GUCs.

From
Jeff Davis
Date:
On Thu, 2020-06-11 at 13:41 -0700, Peter Geoghegan wrote:
> On Thu, Jun 11, 2020 at 1:05 PM Jeff Davis <jdavis@postgresql.org>
> wrote:
> > Rework HashAgg GUCs.
> 
> This commit broke the doc build:

Fixed, thank you. It broke the REL_13_STABLE branch, not master, so I
fixed it only in 13.

Regards,
    Jeff Davis