PostgreSQL TRIGGER - 如何确定我们是 运行 IMMEDIATE 还是 DEFERRED?
PostgreSQL TRIGGER - how to find out if we are running IMMEDIATE or DEFERRED?
假设我们有一个触发器
CREATE CONSTRAINT TRIGGER test
AFTER UPDATE OF name
ON public.test
DEFERRABLE INITIALLY IMMEDIATE
FOR EACH ROW
EXECUTE FUNCTION public.test_trigger();
现在,如果 SET CONSTRAINTS ... DEFERRED
会被调用,此触发器可以立即执行或延迟执行。
我可以从触发器中找出它当前是 运行 IMMEDIATE 还是 DEFERRED 吗?
不,你不能。我查看了postgres的源代码,这只是私人信息。
假设我们有一个触发器
CREATE CONSTRAINT TRIGGER test
AFTER UPDATE OF name
ON public.test
DEFERRABLE INITIALLY IMMEDIATE
FOR EACH ROW
EXECUTE FUNCTION public.test_trigger();
现在,如果 SET CONSTRAINTS ... DEFERRED
会被调用,此触发器可以立即执行或延迟执行。
我可以从触发器中找出它当前是 运行 IMMEDIATE 还是 DEFERRED 吗?
不,你不能。我查看了postgres的源代码,这只是私人信息。