Re: Event Triggers: adding information

Thom Brown <thom@linux.com>

From: Thom Brown <thom@linux.com>
To: Dimitri Fontaine <dimitri@2ndquadrant.fr>
Cc: Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2013-01-22T13:37:21Z
Lists: pgsql-hackers
On 22 January 2013 13:28, Dimitri Fontaine <dimitri@2ndquadrant.fr> wrote:
> Thom Brown <thom@linux.com> writes:
>> Would it be desirable to have ddl_command_success and
>> ddl_command_failed events.  These would effectively be subsets to
>
> No, because you can't run any SQL in a failed transaction.

Okay, I had misunderstood something someone wrote previously, and that
makes sense now.

>> This, unfortunately, introducing awkwardness with the WHEN clause
>> restriction which doesn't accommodate simple equality.  And looking at
>> the IN part of the syntax, it looks awful: WHEN TAG IN ('DROP
>> SEQUENCE' AND 'CREATE TABLE').
>
> The syntax is using a comma, not an "AND", as seen in the tests:
>
>     create event trigger regress_event_trigger2 on ddl_command_start
>        when tag in ('create table', 'CREATE FUNCTION')
>        execute procedure test_event_trigger();

Ah, in that case, the docs are wrong:
http://www.postgresql.org/docs/devel/static/sql-createeventtrigger.html

--
Thom