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.