Leí esto sobre la palabra clave SQL DEFERRABLEen Database Systems - The Complete Book .
El último [NO DEFERRABLE] es el predeterminado y significa que cada vez que se ejecuta una instrucción de modificación de la base de datos, la restricción se verifica inmediatamente después, si la modificación podría violar la restricción de clave externa.
Sin embargo, si declaramos que una restricción es DEFERRABLE , entonces tenemos la opción de hacer que espere hasta que se complete una transacción antes de verificar la restricción.
Seguimos la palabra clave DEFERRABLE por cualquiera INICIALMENTE DIFERIDO o INICIALMENTE INMEDIATA . En el primer caso, la verificación se aplazará justo antes de que se confirme cada transacción. En este último caso, la verificación se realizará inmediatamente después de cada extracto.
¿En qué se NOT DEFERRABLEdiferencia de DEFERRABLE INITIALLY IMMEDIATE? En ambos casos, al parecer, las restricciones se verifican después de cada declaración individual.

DEFERRABLEestablece la intención del diseñador de que diferir la restricción es una acción que vale la pena o es necesaria. Este no es el caso de la gran mayoría de las limitaciones de la base de datos y el etiquetado de todos, yaDEFERRABLEque perdería esta útil distinción.