-----Original Message-----
From: Tom Lane <t...@sss.pgh.pa.us> 
Sent: Tuesday, July 27, 2021 23:31
To: l...@laurent-hasson.com
Cc: Peter Geoghegan <p...@bowt.ie>; David Rowley <dgrowle...@gmail.com>; Justin 
Pryzby <pry...@telsasoft.com>; pgsql-performa...@postgresql.org
Subject: Re: Big performance slowdown from 11.2 to 13.3

I wrote:
> Yeah, I wouldn't sweat over the specific value.  The pre-v13 behavior 
> was effectively equivalent to hash_mem_multiplier = infinity, so if 
> you weren't having any OOM problems before, just crank it up.

Oh, wait, scratch that: the old executor's behavior is accurately described by 
that statement, but the planner's is not.  The planner will not pick a hashagg 
plan if it guesses that the hash table would exceed the configured limit 
(work_mem before, now work_mem times hash_mem_multiplier).  So raising 
hash_mem_multiplier to the moon might bias the v13 planner to pick hashagg 
plans in cases where earlier versions would not have.  This doesn't describe 
your immediate problem, but it might be a reason to not just set the value as 
high as you can.

BTW, this also suggests that the planner is underestimating the amount of 
memory needed for the hashagg, both before and after.
That might be something to investigate at some point.

                        regards, tom lane


This is very useful to know... all things I'll get to test after 13.4 is 
released. I'll report back when I am able to.

Thank you,
Laurent.


Reply via email to