From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
Cc: | Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com> |
Subject: | Re: should ConstraintRelationId ins/upd cause relcache invals? |
Date: | 2019-01-21 19:33:00 |
Message-ID: | 20190121193300.gknn7p4pmmjg7nqf@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2019-01-21 16:27:50 -0300, Alvaro Herrera wrote:
> While working on bugfixes for FK problems in partitioned tables, I came
> across some behavior that appears to stem from our inclusion of foreign
> keys in relcache, without sufficient care for invalidating the relcache
> entries when the foreign key set for the table changes. (Namely, a
> partition retains its relcache entry with no FKs when an FK is added to
> the parent table, leading a DELETE to skip running action triggers).
>
> At https://postgr.es/m/201901182216.nr5clsxrn624@alvherre.pgsql I posted
> a simplistic for the specific problem I found by calling
> CacheInvalidateRelcache in the problem spot. But I'm wondering if the
> correct fix isn't to have CacheInvalidateHeapTuple deal with FK
> pg_constraint tuples instead, per the attached patch. Why does this not
> lead to stale cache problems elsewhere?
>
> FKs were added to relcache entries by commit 100340e2dcd0 ("Restore
> foreign-key-aware estimation of join relation sizes"), so CCing Tom and
> Tomas.
I wondered about the same in https://www.postgresql.org/message-id/20180628150209.n2qch5jtn3vt2xaa%40alap3.anarazel.de
, just about pg_index, but people didn't like it much.
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2019-01-21 19:35:12 | Re: Thread-unsafe coding in ecpg |
Previous Message | Alvaro Herrera | 2019-01-21 19:27:50 | should ConstraintRelationId ins/upd cause relcache invals? |