pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: ALTER CONSTRAINT on a partitioned FK isn't working
Date: Mon, 7 Dec 2020 20:52:06 -0300
Message-ID: <20201207235206.GA2277@alvherre.pgsql> (raw)
In-Reply-To: <20201207233414.GA24167@alvherre.pgsql>

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.)






view thread (8+ messages)  latest in thread

Message-ID: <20201207235206.GA2277@alvherre.pgsql>
Permalink:  ../20201207235206.GA2277@alvherre.pgsql/
Also on:    postgresql.org/message-id/20201207235206.GA2277@alvherre.pgsql

 · 

reply

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-bugs@postgresql.org
  Cc: alvherre@alvh.no-ip.org, tgl@sss.pgh.pa.us, pgsql-bugs@lists.postgresql.org
  Subject: Re: ALTER CONSTRAINT on a partitioned FK isn't working
  In-Reply-To: <20201207235206.GA2277@alvherre.pgsql>

* 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