Re: Question: what is proper way to define python function as event_trigger?

From: Jeff Ross <jross(at)openvistas(dot)net>
To: Andrei Pozolotin <andrei(dot)pozolotin(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Question: what is proper way to define python function as event_trigger?
Date: 2019-12-22 23:07:13
Message-ID: c4b5ce31-027a-d531-3305-4fe9f35c70de@openvistas.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jeff Ross 2019-12-22 23:20:51 Re: Question: what is proper way to define python function as event_trigger?
Previous Message Andrei Pozolotin 2019-12-22 22:27:02 Question: what is proper way to define python function as event_trigger?