From: | Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Odd behavior of statement triggers with transition tables on partitions |
Date: | 2025-08-08 09:19:55 |
Message-ID: | CAPmGK17h7RS=OrgrJbCumJsBQU7xqam0u6bdEem3YyoV4KcYbw@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jul 15, 2025 at 5:26 PM Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com> wrote:
> Yet another thing I noticed about transition tables is $SUBJECT:
>
> create table parent (a text, b int) partition by list (a);
> create table child partition of parent for values in ('AAA');
> create function dump_insert() returns trigger language plpgsql as
> $$
> begin
> raise notice 'trigger = %, new table = %',
> TG_NAME,
> (select string_agg(new_table::text, ', ' order by a)
> from new_table);
> return null;
> end;
> $$;
> create trigger child_insert_trig
> after insert on child referencing new table as new_table
> for each statement execute procedure dump_insert();
> alter table parent detach partition child;
> alter table parent attach partition child for values in ('AAA');
> ERROR: trigger "child_insert_trig" prevents table "child" from
> becoming a partition
> DETAIL: ROW triggers with transition tables are not supported on partitions.
>
> Reattaching the partition fails, which is surprising. The DETAIL
> message is surprising too, as the trigger created on the partition is
> a statement trigger, not a row trigger.
>
> I think the root cause of this is that
> FindTriggerIncompatibleWithInheritance(), which is called from
> ATExecAttachPartition() (or ATExecAddInherit()), fails to check that
> such an incompatible trigger is a row trigger, erroneously detecting a
> statement trigger. Attached is a fix for that.
As there seemed to be no objections, I pushed/back-patched this as well.
Best regards,
Etsuro Fujita
From | Date | Subject | |
---|---|---|---|
Next Message | Rahila Syed | 2025-08-08 09:26:52 | Re: Enhancing Memory Context Statistics Reporting |
Previous Message | Etsuro Fujita | 2025-08-08 09:17:35 | Re: Problem with transition tables on partitioned tables with foreign-table partitions |