Thread: event trigger clarification

event trigger clarification

From
Marc Millas
Date:
Hi,
the doc v15 states: " pg_event_trigger_ddl_commands returns a list of DDL commands executed by each user action, when invoked in a function attached to a ddl_command_end event trigger."
When some ddl command is executed within a block, I would like to know if the event trigger fires when the line is executed or at commit time.

thanks.


Marc MILLAS
Senior Architect
+33607850334

Re: event trigger clarification

From
Erik Wienhold
Date:
> On 30/08/2023 17:12 CEST Marc Millas <marc.millas@mokadb.com> wrote:
>
> the doc v15 states: " pg_event_trigger_ddl_commands returns a list of DDL
> commands executed by each user action, when invoked in a function attached
> to a ddl_command_end event trigger."
> When some ddl command is executed within a block, I would like to know if the
> event trigger fires when the line is executed or at commit time.

The event trigger fires just before[1]/after[2] executing a complete command.
So not at commit time.

[1]
https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/tcop/utility.c;h=6b0a8652622b26887ea2ccd15ced3300e951c5dc#l1120
[2]
https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/tcop/utility.c;h=6b0a8652622b26887ea2ccd15ced3300e951c5dc#l1923

--
Erik



Re: event trigger clarification

From
"David G. Johnston"
Date:
On Wednesday, August 30, 2023, Marc Millas <marc.millas@mokadb.com> wrote:
Hi,
the doc v15 states: " pg_event_trigger_ddl_commands returns a list of DDL commands executed by each user action, when invoked in a function attached to a ddl_command_end event trigger."
When some ddl command is executed within a block, I would like to know if the event trigger fires when the line is executed or at commit time.


There is nothing there about event execution being able to be deferred.

David J.

 

Re: event trigger clarification

From
Marc Millas
Date:
Thanks !
Marc MILLAS
Senior Architect
+33607850334



On Wed, Aug 30, 2023 at 8:44 PM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Wednesday, August 30, 2023, Marc Millas <marc.millas@mokadb.com> wrote:
Hi,
the doc v15 states: " pg_event_trigger_ddl_commands returns a list of DDL commands executed by each user action, when invoked in a function attached to a ddl_command_end event trigger."
When some ddl command is executed within a block, I would like to know if the event trigger fires when the line is executed or at commit time.


There is nothing there about event execution being able to be deferred.

David J.

 

Re: event trigger clarification

From
Marc Millas
Date:
Thanks !
Marc MILLAS
Senior Architect
+33607850334



On Wed, Aug 30, 2023 at 6:18 PM Erik Wienhold <ewie@ewie.name> wrote:
> On 30/08/2023 17:12 CEST Marc Millas <marc.millas@mokadb.com> wrote:
>
> the doc v15 states: " pg_event_trigger_ddl_commands returns a list of DDL
> commands executed by each user action, when invoked in a function attached
> to a ddl_command_end event trigger."
> When some ddl command is executed within a block, I would like to know if the
> event trigger fires when the line is executed or at commit time.

The event trigger fires just before[1]/after[2] executing a complete command.
So not at commit time.

[1] https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/tcop/utility.c;h=6b0a8652622b26887ea2ccd15ced3300e951c5dc#l1120
[2] https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/tcop/utility.c;h=6b0a8652622b26887ea2ccd15ced3300e951c5dc#l1923

--
Erik