How do I temporarily disable triggers in PostgreSQL?
I'm bulk loading data and can re-calculate all trigger modifications much more cheaply after the fact than on a row-by-row basis.
How can I temporarily disable all triggers in PostgreSQL?
Solution 1:
Alternatively, if you are wanting to disable all triggers, not just those on the USER table, you can use:
SET session_replication_role = replica;
This disables triggers for the current session.
To re-enable for the same session:
SET session_replication_role = DEFAULT;
Source: http://koo.fi/blog/2013/01/08/disable-postgresql-triggers-temporarily/
Solution 2:
PostgreSQL knows the ALTER TABLE tblname DISABLE TRIGGER USER
command, which seems to do what I need. See ALTER TABLE.