Il y a deux choses que vous pouvez faire (elles sont complémentaires et non alternatives) :
- Créez vos contraintes de clé étrangère comme DEFERRABLE. Ensuite, appelez "SET CONSTRAINTS DEFERRED;", ce qui entraînera la vérification des contraintes de clé étrangère jusqu'à la fin de la transaction. Notez que la valeur par défaut si vous ne spécifiez rien est NOT DEFERRABLE (ennuyeux).
- Appelez "ALTER TABLE mytable DISABLE TRIGGER ALL;", qui empêche l'exécution de tout déclencheur pendant le chargement des données, puis "ALTER TABLE mytable ENABLE TRIGGER ALL;" lorsque vous avez terminé de les réactiver.