Re: ALTER CONSTRAINT on a partitioned FK isn't working - Mailing list pgsql-bugs

From Alvaro Herrera
Subject Re: ALTER CONSTRAINT on a partitioned FK isn't working
Date
Msg-id 20201207235206.GA2277@alvherre.pgsql
Whole thread Raw
In response to Re: ALTER CONSTRAINT on a partitioned FK isn't working  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
List pgsql-bugs
On 2020-Dec-07, Alvaro Herrera wrote:

> Yeah, this query shows that the tgdeferrable and tginitdeferred columns
> ought to be dropped:
> 
> select tgname, tgdeferrable, tginitdeferred from pg_trigger;

Sorry, I meant "ought to be updated".  But there's more to it than that:
the pg_constraint entries themselves are not updated, and that's because
ALTER CONSTRAINT does not have recurse at all.  So the first thing to do
is add an "ATSimpleRecursion()" call for the appropriate case, but even
that is not sufficient, as we need to recurse on the referenced side
also, not just the referencing side -- and that's a tad more involved.
(ATExecAlterConstraint is explicitly not handling the case.)




pgsql-bugs by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: ALTER CONSTRAINT on a partitioned FK isn't working
Next
From: Andres Freund
Date:
Subject: Re: BUG #16754: When using LLVM and parallel queries aborted all session by pg_cancel_backend.