SET CONSTRAINTS sets the behavior of constraint
evaluation in the current transaction. In
IMMEDIATE
mode, constraints are checked at the end
of each statement. In DEFERRED
mode, constraints
are not checked until transaction commit.
Upon creation, a constraint is always give one of three
characteristics: INITIALLY DEFERRED
,
INITIALLY IMMEDIATE DEFERRABLE
, or
INITIALLY IMMEDIATE NOT DEFERRABLE
. The third
class is not affected by the SET CONSTRAINTS
command.
Currently, only foreign key constraints are affected by this setting. Check and unique constraints are always effectively initially immediate not deferrable.