deferrable FK constraints on partitioned rels - Mailing list pgsql-hackers

From Alvaro Herrera
Subject deferrable FK constraints on partitioned rels
Date
Msg-id 20191105191948.GA11182@alvherre.pgsql
Whole thread Raw
Responses Re: deferrable FK constraints on partitioned rels  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-hackers
While messing around, I noticed that SET CONSTRAINTS ... DEFERRED
does not work with partitioned tables.  I had some code to cover this
case, but it has a bug that prevents it from working at all: the sanity
check that verifies whether triggers exist fails.

The attached patch fixes this problem: it merely removes the sanity
check.  With that, everything works.

(Another approach I tried was to split out constraints in partitioned
tables vs. constraints in regular ones.  That's indeed workable, but it
requires us to do two additional syscache access per partition for
get_rel_relkind, which seems excessive.)

The UNIQUE DEFERRABLE case works after the patch.  (I didn't try without
the patch.)

-- 
Álvaro Herrera                         Developer, https://www.PostgreSQL.org/

Attachment

pgsql-hackers by date:

Previous
From: David Fetter
Date:
Subject: Re: [Proposal] Arbitrary queries in postgres_fdw
Next
From: Peter Eisentraut
Date:
Subject: Re: alternative to PG_CATCH