From: scott ribe <scott_ribe@elevated-dev.com>
To: Davlet Panech <dpanech@gmail.com>
Cc: pgsql-admin@lists.postgresql.org
Subject: Re: Abnormally high memory usage/OOM triggered
Date: Thu, 18 Jan 2018 10:34:59 -0700
Message-ID: <460E4952-3C5F-4A17-A426-09FD0249FF82@elevated-dev.com> (raw)
In-Reply-To: <15a90b55-5151-ce22-16ee-7ff883e5eb97@gmail.com>
References: <4d52fee7-73ba-16a9-9c27-8ae5107ee6ae@gmail.com>
<5E0AB8DB-F13B-41BF-843A-FE64FBE9C097@elevated-dev.com>
<15a90b55-5151-ce22-16ee-7ff883e5eb97@gmail.com>
On Jan 18, 2018, at 10:13 AM, Davlet Panech <dpanech@gmail.com> wrote:
>
> On 1/17/2018 5:57 PM, scott ribe wrote:
>> On Jan 17, 2018, at 2:57 PM, Davlet Panech <dpanech@gmail.com> wrote:
>>>
>>> Does my configuration look reasonable? I just don't understand how it could possibly use up 19 GB of memory based on the configuration below. Is there a memory leak in there somewhere?
>> It does seem awfully high, but... An update can involve a join across multiple tables. Or an update can run a trigger which can cascade. Either of those could result in an "accidental cross product" join, which can always blow up memory.
> There must be a way to put an upper limit on memory even for such cases. I was under the impression that parameters such as "work_mem" serve that purpose, is that not the case? So an "accidental cross product" join's memory usage is unbounded? It can't be... could somebody confirm this please?
You are correct as far as I know, so yeah, that case should result in filling disk, not RAM
--
Scott Ribe
https://www.linkedin.com/in/scottribe/
(303) 722-0567
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: scott_ribe@elevated-dev.com, dpanech@gmail.com, pgsql-admin@lists.postgresql.org
Subject: Re: Abnormally high memory usage/OOM triggered
In-Reply-To: <460E4952-3C5F-4A17-A426-09FD0249FF82@elevated-dev.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox