mirror of
https://github.com/postgres/postgres.git
synced 2025-05-03 22:24:49 +03:00
doc: clarify the effect of concurrent work_mem allocations
Reported-by: Sami Imseih Discussion: https://postgr.es/m/66590882-F48C-4A25-83E3-73792CF8C51F@amazon.com Backpatch-through: 11
This commit is contained in:
parent
587a3563cb
commit
aa7d0b6cf9
@ -1815,9 +1815,10 @@ include_dir 'conf.d'
|
|||||||
(such as a sort or hash table) before writing to temporary disk files.
|
(such as a sort or hash table) before writing to temporary disk files.
|
||||||
If this value is specified without units, it is taken as kilobytes.
|
If this value is specified without units, it is taken as kilobytes.
|
||||||
The default value is four megabytes (<literal>4MB</literal>).
|
The default value is four megabytes (<literal>4MB</literal>).
|
||||||
Note that for a complex query, several sort or hash operations might be
|
Note that a complex query might perform several sort and hash
|
||||||
running in parallel; each operation will generally be allowed
|
operations at the same time, with each operation generally being
|
||||||
to use as much memory as this value specifies before it starts
|
allowed to use as much memory as this value specifies before
|
||||||
|
it starts
|
||||||
to write data into temporary files. Also, several running
|
to write data into temporary files. Also, several running
|
||||||
sessions could be doing such operations concurrently.
|
sessions could be doing such operations concurrently.
|
||||||
Therefore, the total memory used could be many times the value
|
Therefore, the total memory used could be many times the value
|
||||||
@ -1831,7 +1832,7 @@ include_dir 'conf.d'
|
|||||||
<para>
|
<para>
|
||||||
Hash-based operations are generally more sensitive to memory
|
Hash-based operations are generally more sensitive to memory
|
||||||
availability than equivalent sort-based operations. The
|
availability than equivalent sort-based operations. The
|
||||||
memory available for hash tables is computed by multiplying
|
memory limit for a hash table is computed by multiplying
|
||||||
<varname>work_mem</varname> by
|
<varname>work_mem</varname> by
|
||||||
<varname>hash_mem_multiplier</varname>. This makes it
|
<varname>hash_mem_multiplier</varname>. This makes it
|
||||||
possible for hash-based operations to use an amount of memory
|
possible for hash-based operations to use an amount of memory
|
||||||
|
Loading…
x
Reference in New Issue
Block a user