1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Increase hash_mem_multiplier default to 2.0.

Double the default setting for hash_mem_multiplier, from 1.0 to 2.0.
This setting makes hash-based executor nodes use twice the usual
work_mem limit.

The PostgreSQL 15 release notes should have a compatibility note about
this change.

Author: Peter Geoghegan <pg@bowt.ie>
Discussion: https://postgr.es/m/CAH2-Wzndc_ROk6CY-bC6p9O53q974Y0Ey4WX8jcPbuTZYM4Q3A@mail.gmail.com
This commit is contained in:
Peter Geoghegan
2022-02-16 18:41:52 -08:00
parent 74388a1ac3
commit 8f388f6f55
10 changed files with 52 additions and 9 deletions

View File

@ -1849,9 +1849,8 @@ include_dir 'conf.d'
operations can use. The final limit is determined by
multiplying <varname>work_mem</varname> by
<varname>hash_mem_multiplier</varname>. The default value is
1.0, which makes hash-based operations subject to the same
simple <varname>work_mem</varname> maximum as sort-based
operations.
2.0, which makes hash-based operations use twice the usual
<varname>work_mem</varname> base amount.
</para>
<para>
Consider increasing <varname>hash_mem_multiplier</varname> in
@ -1859,7 +1858,7 @@ include_dir 'conf.d'
occurrence, especially when simply increasing
<varname>work_mem</varname> results in memory pressure (memory
pressure typically takes the form of intermittent out of
memory errors). A setting of 1.5 or 2.0 may be effective with
memory errors). The default setting of 2.0 is often effective with
mixed workloads. Higher settings in the range of 2.0 - 8.0 or
more may be effective in environments where
<varname>work_mem</varname> has already been increased to 40MB