Обсуждение: event trigger clarification

Поиск
Список
Период
Сортировка

event trigger clarification

От
Marc Millas
Дата:
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

От
Erik Wienhold
Дата:
> 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

От
"David G. Johnston"
Дата:
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

От
Marc Millas
Дата:
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

От
Marc Millas
Дата:
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