Re: pg_restore error with partitioned table having exclude constraint

Álvaro Herrera <alvherre@kurilemu.de>

From: Álvaro Herrera <alvherre@kurilemu.de>
To: Japin Li <japinli@hotmail.com>
Cc: Keith Paskett <keith.paskett@logansw.com>, pgsql-bugs@lists.postgresql.org
Date: 2025-04-28T08:42:14Z
Lists: pgsql-bugs
On 2025-Apr-24, Japin Li wrote:

> On Thu, 17 Apr 2025 at 17:18, Álvaro Herrera <alvherre@kurilemu.de> wrote:
> > On 2025-Apr-17, Japin Li wrote:
> >
> >> It seems PG 16 does not support exclusion constraints on
> >> partitioned tables.
> >
> > Yeah, my recollection is that they were purposefully disallowed
> > (mainly because I didn't want to research how to fully make them
> > work when adding local partitioned indexes), and that we needed to
> > do more work if we wanted to let them through.  I suspect commit
> > 8c852ba9a4 was mistaken to allow that case without looking for
> > further implications.
> 
> Sorry, I’m unclear on “more work.” Can you explain further?

Well, there are no tests in the patch.  8c852ba9a434 added some, but
it's now clear that something was overlooked.  I think this patch should
make more of an effort to cover all interesting cases in regression
tests if there are holes in coverage; and also add something to verify
that pg_dump and pg_upgrade work correctly for these constraints.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"Si quieres ser creativo, aprende el arte de perder el tiempo"



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Allow some exclusion constraints on partitions

  2. Local partitioned indexes