From: | Bruce Momjian <bruce(at)momjian(dot)us> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, Stephen Frost <sfrost(at)snowman(dot)net>, Oleksii Kliukin <alexk(at)hintbits(dot)com>, Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Jan Wieck <jan(at)wi3ck(dot)info>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Limiting memory allocation |
Date: | 2022-05-25 00:08:49 |
Message-ID: | Yo1zkfC1oKO5cF3m@momjian.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, May 24, 2022 at 07:40:45PM -0400, Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > If the plan output is independent of work_mem,
>
> ... it isn't ...
Good.
> > I always wondered why we
> > didn't just determine the number of simultaneous memory requests in the
> > plan and just allocate accordingly, e.g. if there are four simultaneous
> > memory requests in the plan, each gets work_mem/4.
>
> (1) There are not a predetermined number of allocations. For example,
> if we do a given join as nestloop+inner index scan, that doesn't require
> any large amount of memory; but if we do it as merge or hash join then
> it will consume memory.
Uh, we know from the plan whether we are doing a nestloop+inner or merge
or hash join, right? I was suggesting we look at the plan before
execution and set the proper percentage of work_mem for each node.
> (2) They may not all need the same amount of memory, eg joins might
> be working on different amounts of data.
True. but we could cap it like we do now for work_mem, but as a
percentage of a GUC work_mem total.
--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2022-05-25 00:39:15 | Re: PG15 beta1 sort performance regression due to Generation context change |
Previous Message | Bruce Momjian | 2022-05-24 23:54:18 | Re: allow building trusted languages without the untrusted versions |