| From: | Corey Huinker <corey(dot)huinker(at)gmail(dot)com> | 
|---|---|
| To: | alvherre(at)2ndquadrant(dot)com | 
| Cc: | pgsql-hackers(at)postgresql(dot)org | 
| Subject: | Re: partitioned tables referenced by FKs | 
| Date: | 2018-11-05 05:53:33 | 
| Message-ID: | CADkLM=dPsRUa+CwrP7kf=12ehnxzLCJxsOn2MJo5_8Kp9ZVAwg@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Fri, Nov 2, 2018 at 7:42 PM Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
wrote:
> Here's a patch to allow partitioned tables to be referenced by foreign
> keys.  Current state is WIP, but everything should work; see below for
> the expected exception.
>
> The design is very simple: have one pg_constraint row for each partition
> on each side, each row pointing to the topmost table on the other side;
> triggers appear on each leaf partition (and naturally they don't appear
> on any intermediate partitioned table).
>
This is an important and much needed feature!
Based on my extremely naive reading of this code, I have two perhaps
equally naive questions:
1. it seems that we will continue to to per-row RI checks for inserts and
updates. However, there already exists a bulk check in RI_Initial_Check().
Could we modify this bulk check to do RI checks on a per-statement basis
rather than a per-row basis?
2. If #1 is possible, is the overhead of transitions tables too great for
the single-row case?
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2018-11-05 05:56:14 | "Writing" output lines during make | 
| Previous Message | Amit Langote | 2018-11-05 05:37:05 | ON COMMIT actions and inheritance |