From: | Jehan-Guillaume de Rorthais <jgdr(at)dalibo(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
Cc: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: FK violation in partitioned table after truncating a referenced partition |
Date: | 2020-02-07 18:22:57 |
Message-ID: | 20200207192257.1145eadd@firost |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Fri, 7 Feb 2020 14:27:51 -0300
Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> wrote:
> On 2020-Feb-07, Jehan-Guillaume de Rorthais wrote:
>
> > Maybe I would just add:
> >
> > /*
> > * If this constraint has a parent constraint which we have not seen
> > * yet, keep track of it for the second loop, below.
> > + * Tracking parent constraint allows to climb up to the top-level
> > + * level constraint and look for all possible relation referencing
> > + * the partioned table.
> > */
>
> LGTM.
Added.
> BTW I was thinking that perhaps it would make sense to go up all levels
> at once when we see a "parented" constraint; this would avoid having to
> restart several times when there's N-levels partitioning. It might be
> an issue if pg_constraint is large, because, you see, there's a seqscan
> there!
Indeed. See v4 in attachment. It saves 3 seqscans during the whole tests we
added.
> (Maybe now's the time to add an index to confrelid, but of
> course only in master). This probably doesn't matter much normally
> because nobody uses that many partition levels ...
I have a colleague that enjoys experimenting with limits. But I'm not sure I'll
have feedback from him before next minor release (next week?).
Regards,
Attachment | Content-Type | Size |
---|---|---|
0001-v4-Fix-TRUNCATE-on-a-partition-to-apply-CASCADE-to-part.patch | text/x-patch | 8.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | PG Bug reporting form | 2020-02-07 19:10:05 | BUG #16249: Partition pruning blocks on exclusively locked table partition |
Previous Message | Albin, Lloyd P | 2020-02-07 18:20:30 | RE: BUG #16234: LDAP Query |