Re: Default setting for enable_hashagg_disk

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, Stephen Frost <sfrost(at)snowman(dot)net>, Peter Geoghegan <pg(at)bowt(dot)ie>, Jeff Davis <pgsql(at)j-davis(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Bruce Momjian <bruce(at)momjian(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, David Rowley <dgrowleyml(at)gmail(dot)com>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Default setting for enable_hashagg_disk
Date: 2020-07-12 04:28:52
Message-ID: CAKFQuwawjXX0EyGFU0O9gwvoLYWEQYgfTKP-DA=_x0fehtFeGg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs pgsql-hackers

On Sat, Jul 11, 2020 at 5:47 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com> writes:
> > I don't know, but one of the main arguments against simply suggesting
> > people to bump up work_mem (if they're hit by the hashagg spill in v13)
> > was that it'd increase overall memory usage for them. It seems strange
> > to then propose a new GUC set to a default that would result in higher
> > memory usage *for everyone*.
>
> It seems like a lot of the disagreement here is focused on Peter's
> proposal to make hash_mem_multiplier default to 2.0. But it doesn't
> seem to me that that's a critical element of the proposal. Why not just
> make it default to 1.0, thus keeping the default behavior identical
> to what it is now?
>

If we don't default it to something other than 1.0 we might as well just
make it memory units and let people decide precisely what they want to use
instead of adding the complexity of a multiplier.

> If we find that's a poor default, we can always change it later;
> but it seems to me that the evidence for a higher default is
> a bit thin at this point.
>

So "your default is 1.0 unless you installed the new database on or after
13.4 in which case it's 2.0"?

I'd rather have it be just memory units defaulting to -1 meaning "use
work_mem". In the unlikely scenario we decide post-release to want a
multiplier > 1.0 we can add the GUC with that default at that point. The
multiplier would want to be ignored if hash_mem if set to anything other
than -1.

David J.

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Tom Lane 2020-07-12 04:37:08 Re: Default setting for enable_hashagg_disk
Previous Message Thomas Munro 2020-07-12 02:46:10 Re: Default setting for enable_hashagg_disk

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2020-07-12 04:37:08 Re: Default setting for enable_hashagg_disk
Previous Message Thomas Munro 2020-07-12 02:46:10 Re: Default setting for enable_hashagg_disk