Re: FOR EACH ROW triggers on partitioned tables
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndquadrant.com>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-01-06T12:54:31Z
Lists: pgsql-hackers
On 3 January 2018 at 03:12, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote: > On 12/29/17 17:53, Alvaro Herrera wrote: >> This patch enables FOR EACH ROW triggers on partitioned tables. >> >> As presented, this patch is sufficient to discuss the semantics that we >> want for triggers on partitioned tables, which is the most pressing >> question here ISTM. > > This seems pretty straightforward. What semantics questions do you have? I see the patch imposes these restrictions * AFTER TRIGGERS only * No transition tables * No WHEN clause All of which might be removed/extended at some later date So that's all good... there's not much here, so easy to commit soon. >> However, this is incomplete: it doesn't create triggers when you do >> ALTER TABLE ATTACH PARTITION or by CREATE TABLE PARTITION OF. I'm using >> this as a basis on which to try foreign keys for partitioned tables. >> Getting this to committable status requires adding those features. > > Yeah that, and also perhaps preventing the removal of triggers from > partitions if they are supposed to be on the whole partition hierarchy. +1 > And then make pg_dump do the right things. That's all mostly legwork, I > think. > > Also, does ALTER TABLE ... ENABLE/DISABLE TRIGGER do the right things on > partitioned tables? Not sure I care about that, since it just breaks FKs and other things, but we can add it later. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Allow FOR EACH ROW triggers on partitioned tables
- 86f575948c77 11.0 landed
-
Fix CommandCounterIncrement in partition-related DDL
- 4dba331cb3dc 11.0 landed
-
Mention trigger name in trigger test
- cef60043dd27 11.0 landed
-
Fix transition tables for partition/inheritance.
- 501ed02cf6f4 10.0 cited