postgres.git / summary / log / commit / refs

commit    cd45fef058abc412ee3595cced5b68c4957f0499
Author:   Etsuro Fujita <efujita@postgresql.org>
Date:     Sat Aug 02 09:30:02 2025 +0000
First released in: 13.22, 14.19, 15.14, 16.10, 17.6, 18.0

    Doc: clarify the restrictions of AFTER triggers with transition tables.
    
    It was not very clear that the triggers are only allowed on plain tables
    (not foreign tables).  Also, rephrase the documentation for better
    readability.
    
    Follow up to commit 9e6104c66.
    
    Reported-by: Etsuro Fujita <etsuro.fujita@gmail.com>
    Author: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
    Reviewed-by: Etsuro Fujita <etsuro.fujita@gmail.com>
    Discussion: https://postgr.es/m/CAPmGK16XBs9ptNr8Lk4f-tJZogf6y-Prz%3D8yhvJbb_4dpsc3mQ%40mail.gmail.com
    Backpatch-through: 13


doc/src/sgml/ref/create_trigger.sgml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/ref/create_trigger.sgml b/doc/src/sgml/ref/create_trigger.sgml index 982ab6f3ee4..71869c996e3 100644 --- a/doc/src/sgml/ref/create_trigger.sgml +++ b/doc/src/sgml/ref/create_trigger.sgml @@ -197,9 +197,11 @@ CREATE [ OR REPLACE ] [ CONSTRAINT ] TRIGGER <replaceable class="parameter">name of the rows inserted, deleted, or modified by the current SQL statement. This feature lets the trigger see a global view of what the statement did, not just one row at a time. This option is only allowed for - an <literal>AFTER</literal> trigger that is not a constraint trigger; also, if - the trigger is an <literal>UPDATE</literal> trigger, it must not specify - a <replaceable class="parameter">column_name</replaceable> list. + an <literal>AFTER</literal> trigger on a plain table (not a foreign table). + The trigger should not be a constraint trigger. Also, if the trigger is + an <literal>UPDATE</literal> trigger, it must not specify + a <replaceable class="parameter">column_name</replaceable> list when using + this option. <literal>OLD TABLE</literal> may only be specified once, and only for a trigger that can fire on <literal>UPDATE</literal> or <literal>DELETE</literal>; it creates a transition relation containing the <firstterm>before-images</firstterm> of all rows [parent: ec96e88122c8]