PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come posso disabilitare l'integrità referenziale in Postgres 8.2?

Ci sono due cose che puoi fare (queste sono complementari, non alternative):

  • Crea i tuoi vincoli di chiave esterna come DEFERRABLE. Quindi, chiama "SET CONSTRAINTS DEFERRED;", che farà sì che i vincoli di chiave esterna non vengano controllati fino alla fine della transazione. Nota che l'impostazione predefinita se non specifichi nulla è NON RINVIABILE (fastidiosamente).
  • Chiama "ALTER TABLE mytable DISABLE TRIGGER ALL;", che impedisce l'esecuzione di trigger durante il caricamento dei dati, quindi "ALTER TABLE mytable ENABLE TRIGGER ALL;" quando hai finito per riattivarli.