首页 > 解决方案 > PostgreSQL TRIGGER - how to find out if we are running IMMEDIATE or DEFERRED?

问题描述

Assume we have a trigger

CREATE CONSTRAINT TRIGGER test
    AFTER UPDATE OF name
    ON public.test
    DEFERRABLE INITIALLY IMMEDIATE
    FOR EACH ROW
EXECUTE FUNCTION public.test_trigger();

Now, this trigger could be executed IMMEDIATE - or DEFERRED, if SET CONSTRAINTS ... DEFERRED would have been called.

Can I find out from within the trigger if it is currently running as IMMEDIATE or DEFERRED?

标签: postgresqltriggersplpgsql

解决方案


No, you cannot. I checked postgres's source code, and this is only private information.


推荐阅读