On 2019-12-22 15:27, Andrei Pozolotin wrote:
>
> Hello.
>
> Problem:
>
> 1. any attempt to define python function as an event_trigger, i.e.:
>
> CREATE FUNCTION public.verify()
> RETURNS event_trigger
> LANGUAGE 'plpython3u'
> AS $$ print("hello-kitty") $$;
>
> 2. fails with message:
>
> ERROR: trigger functions can only be called as triggers
>
> SQL state: 0A000
>
> 3. here in the source:
>
> https://github.com/postgres/postgres/blob/master/src/pl/plpython/plpy_procedure.c#L226
>
> Question:
>
> what is proper way to define python function as event_trigger?
>
> Thank you.
>
>
Just do
"create function public.verify() as trigger..."
https://www.postgresql.org/docs/10/plpython-trigger.html
TD["event"] contains the type of event as a string and I routinely do
things like
if TD["event"] == "UPDATE":
#do update stuff
elif TD["event'} == "INSERT":
#do insert related stuff
Jeff