PostgreSQL-Version: 8.1.17
Hallo,
ich habe einen Dump aus einer MySQL-Datenbank und möchte diesen in Postgre einspielen. Es sind nur die Daten vorhanden, die Struktur existiert schon. Jetzt habe ich ein Problem, dass Postgre meckert, da Foreign Key Constraints verletzt würden. Bei MySQL gibt es eine Anweisung um die FK Checks zu deaktivieren. Gibt es sowas bei Postgre auch oder hat jemand eine andere Lösung?
Hat jemand eine Lösung?
Vielen Dank und viele Grüße
Philip
PostgreSQL-Version: 8.1.17
Hallo,
ich habe einen Dump aus einer MySQL-Datenbank und möchte diesen in Postgre einspielen. Es sind nur die Daten vorhanden, die Struktur existiert schon. Jetzt habe ich ein Problem, dass Postgre meckert, da Foreign Key Constraints verletzt würden. Bei MySQL gibt es eine Anweisung um die FK Checks zu deaktivieren. Gibt es sowas bei Postgre auch
Nein. Und das ist auch gut so.
oder hat jemand eine andere Lösung?
Hat jemand eine Lösung?
Vielen Dank und viele Grüße
Philip
Korrigiere Deine Daten, denn diese sind kapott. Und bedanke Dich dafür bei MySQL.
Andreas
Hi Andreas,
danke für die schnelle Antwort. Die Daten sind definitiv korrekt.
Das Problem ist z. B. dass ich eine “zirkuläre” Referenz habe.
Beispiel:
Tabelle Forum hat FK Spalte Last_Post (NULL)
Tabelle Post hat FK Spalte Forum (NOT NULL)
ads
25. Juni 2009 um 10:17
4
ALTER TABLE … DISABLE/ENABLE TRIGGER
Ist wohl das, was du suchst.
Hi Andreas,
danke für die schnelle Antwort. Die Daten sind definitiv korrekt.
Das Problem ist z. B. dass ich eine “zirkuläre” Referenz habe.
Beispiel:
Tabelle Forum hat FK Spalte Last_Post (NULL)
Tabelle Post hat FK Spalte Forum (NOT NULL)
Dann bearbeite den Dump, laß also erst einmal den FK-Constraint weg und lege den nach Befüllung der Tabellen erst an.
Andreas
ads
25. Juni 2009 um 10:21
6
Er importiert nur die Daten, die Struktur ist schon vorhanden …
Ja, hast Recht. Trigger abschalten und/oder FK-Constraints temporär löschen.
Andreas
Ok, danke.
Ich lasse das Schema per NHibernate generieren. Werde jetzt versuchen die FK danach manuell zu droppen, den Dump einzuspielen und wieder hinzuzufügen.
Gruß
Philip