我需要在一个事务中临时禁用一个PostgreSQL触发器,但是不要对表进行硬锁定。有人知道这是否可能吗?
类似这样的操作,可以在此事务之外禁用触发器而不锁定表。
BEGIN TRANSACTION;
ALTER TABLE foo DISABLE TRIGGER bar;
-- DO SOME UPDATES ON foo
UPDATE foo set field = 'value' where field = 'test';
ALTER TABLE foo ENABLE TRIGGER bar;
COMMIT;
SET session_replication_role = replica;
会锁定表吗? - Daniel L. VanDenBosch