How to get the event name from pg_notify

155 Views Asked by At

I'm getting the event(delete or create) from pg_notify with python using pg_channels but I need to put an if to check if the trigged event is a delete or create, than I can apply a rule but I don't know how to get the event name. Thanks for your help guys.

pcg = pg_channels.connect(host='', database='', user='', password='', port='5432')

# listening an event
pcg.listen('xgracco')

#loop to watch events from posgres pg_notify
for event in pcg.events():
     info = json.loads(event.payload)

my function and trigger

create or replace function public.notify() returns  
trigger as $BODY$
begin
if new.tp_status = 'ERRO' then
    perform pg_notify('xgracco', row_to_json(NEW)::text);
end if;
return new;
end
$BODY$
language 'plpgsql';

create trigger after_insert
after insert or update
on "tb_fila" 
for each row 
execute procedure public.notify()

create or replace function public.notify_delete() returns
trigger as $BODY$
begin
if old.tp_status = 'ERRO' then
    perform pg_notify('xgracco', row_to_json(OLD)::text);
end if;
return old;
end
$BODY$
language 'plpgsql';

create trigger before_delete_xgracco
before delete 
on "tb_fila" 
for each row 
execute procedure public.notify_delete()
0

There are 0 best solutions below