Обсуждение: pgsql: Rework HashAgg GUCs.
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(-)
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
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