Postgres中是否有任何定义的函数可以让您知道什么操作触发了触发器?



我想在Postgres中做一个触发器,它将更新日志。我的触发器将在更新、插入或删除完成后触发。

CREATE TRIGGER tr_usuario
BEFORE INSERT OR DELETE OR UPDATE 
ON public.usuario
FOR EACH ROW
EXECUTE PROCEDURE public.actualizarlog();

由于我的触发器是由这三个操作中的任何一个触发的,因此我无法具体知道是什么操作触发了触发器,但是在我的日志中,我还想保存已执行的操作。Postgres 中是否有任何定义的函数可以让我知道什么操作触发了触发器?

有一个特殊的变量TG_OP表示导致触发器触发的操作。它是一个字符串,分别读取INSERTUPDATEDELETETRUNCATE。另请参阅:"42.10.1.数据更改触发器">

最新更新