Re: Huge memory consumption on partitioned table with FKs
Amit Langote <amitlangote09@gmail.com>
From: Amit Langote <amitlangote09@gmail.com>
To: Corey Huinker <corey.huinker@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>,
keisuke kuroda <keisuke.kuroda.3862@gmail.com>, Tatsuro Yamada <tatsuro.yamada.tf@nttcom.co.jp>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
tatsuhito.kasahara.rd@hco.ntt.co.jp
Date: 2020-12-03T12:41:08Z
Lists: pgsql-hackers
On Tue, Dec 1, 2020 at 12:25 PM Corey Huinker <corey.huinker@gmail.com> wrote: > On Mon, Nov 30, 2020 at 9:48 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Corey Huinker <corey.huinker@gmail.com> writes: >> > Given that we're already looking at these checks, I was wondering if this >> > might be the time to consider implementing these checks by directly >> > scanning the constraint index. >> >> Yeah, maybe. Certainly ri_triggers is putting a huge amount of effort >> into working around the SPI/parser/planner layer, to not a lot of gain. >> >> However, it's not clear to me that that line of thought will work well >> for the statement-level-trigger approach. In that case you might be >> dealing with enough tuples to make a different plan advisable. > > Bypassing SPI would probably mean that we stay with row level triggers, and the cached query plan would go away, perhaps replaced by an already-looked-up-this-tuple hash sorta like what the cached nested loops effort is doing. > > I've been meaning to give this a try when I got some spare time. This may inspire me to try again. +1 for this line of work. -- Amit Langote EDB: http://www.enterprisedb.com
Commits
-
Avoid creating duplicate cached plans for inherited FK constraints.
- c3ffe3486368 14.0 landed