I recently had a case where i had to remove my foreign key constraints. I had to work with transactions and rollback/commits because of many dependencies and the DB did not support dirty reads for the constraint or the DEFER keyword in adding the constraint. Herefor i decided to remove the FK constraints and pay more attention to keep the database integrety programatticaly.