Re: Correct the documentation for work_mem

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
Cc: "Imseih (AWS), Sami" <simseih(at)amazon(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Correct the documentation for work_mem
Date: 2023-04-21 17:15:01
Message-ID: 3363505.1682097301@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> writes:
> On 21.04.23 16:28, Imseih (AWS), Sami wrote:
>> I suggest a small doc fix:
>> “Note that for a complex query, several sort or hash operations might be
>> running simultaneously;”

> Here is a discussion of these terms:
> https://takuti.me/note/parallel-vs-concurrent/

> I think "concurrently" is the correct word here.

Probably, but it'd do little to remove the confusion Sami is on about,
especially since the next sentence uses "concurrently" to describe the
other case. I think we need a more thorough rewording, perhaps like

- Note that for a complex query, several sort or hash operations might be
- running in parallel; each operation will generally be allowed
+ Note that a complex query may include several sort or hash
+ operations; each such operation will generally be allowed
to use as much memory as this value specifies before it starts
to write data into temporary files. Also, several running
sessions could be doing such operations concurrently.

I also find this wording a bit further down to be poor:

Hash-based operations are generally more sensitive to memory
availability than equivalent sort-based operations. The
memory available for hash tables is computed by multiplying
<varname>work_mem</varname> by
<varname>hash_mem_multiplier</varname>. This makes it

I think "available" is not le mot juste, and it's also unclear from
this whether we're speaking of the per-hash-table limit or some
(nonexistent) overall limit. How about

- memory available for hash tables is computed by multiplying
+ memory limit for a hash table is computed by multiplying

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Davis 2023-04-21 17:27:49 Re: Order changes in PG16 since ICU introduction
Previous Message Peter Eisentraut 2023-04-21 17:14:13 Re: Order changes in PG16 since ICU introduction