Ergebnis 1 bis 5 von 5

Thema: ERROR: duplicate key value violates unique constraint

  1. #1
    Hannes23 ist offline Benutzer
    Registriert seit
    07.05.2010
    Beiträge
    40

    Standard ERROR: duplicate key value violates unique constraint

    Hallo zusammen,

    ich versuche auf folgende Weise ein Backup zu erstellen und wieder zurückzuspielen:

    Backup
    /usr/bin/pg_dumpall -h 192.168.0.10 --data-only --clean --disable-triggers -U postgres --clean -W --file=daten.sql

    Restore
    psql -U postgres -d application -f daten.sql

    Beim Einspielen der Daten bekomme ich jedoch mehrfach die Meldung

    Code:
    ERROR:  duplicate key value violates unique constraint [key_name]
    Deshalb sind auch keine aktuallisierten Daten in der Datenbank. Drope ich die komplette Datenbank und spiele sowohl das Schema als auch die Daten ein, klappt mit genau diesen Befehlen alles. Ich möchte das Schema jedoch nicht anrühren und nur die Daten rücksichern.

    Ich habe auch schon den Parameter "--clean" eingebaut, in der Hoffnung, dass so vorher Tabellen gelöscht werden und es keine Probleme mit Abhängigkeiten gibt. Trotzdem aber der "duplicate key value" Error.

    Kann mir da jemand weiterhelfen?

    Vielen Dank!

  2. #2
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von Hannes23 Beitrag anzeigen
    Hallo zusammen,

    ich versuche auf folgende Weise ein Backup zu erstellen und wieder zurückzuspielen:

    Backup
    /usr/bin/pg_dumpall -h 192.168.0.10 --data-only --clean --disable-triggers -U postgres --clean -W --file=daten.sql

    Restore
    psql -U postgres -d application -f daten.sql

    Beim Einspielen der Daten bekomme ich jedoch mehrfach die Meldung

    Code:
    ERROR:  duplicate key value violates unique constraint [key_name]
    Deshalb sind auch keine aktuallisierten Daten in der Datenbank. Drope ich die komplette Datenbank und spiele sowohl das Schema als auch die Daten ein, klappt mit genau diesen Befehlen alles. Ich möchte das Schema jedoch nicht anrühren und nur die Daten rücksichern.

    Ich habe auch schon den Parameter "--clean" eingebaut, in der Hoffnung, dass so vorher Tabellen gelöscht werden und es keine Probleme mit Abhängigkeiten gibt. Trotzdem aber der "duplicate key value" Error.

    Kann mir da jemand weiterhelfen?

    Vielen Dank!

    Ich denke mal, --clean zusammen mit --data-only macht nicht so dolle Sinn, denn --clean DROPt die Datenbank, mit --data-only fehlt dann aber die Definition der Tabellen.
    Ohne es zu testen vermute ich mal, das die Option --clean dann ignoriert wird. Kannst ja mal in den Dump schauen - keine Angst, der beißt nicht, ist nur Text.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    Hannes23 ist offline Benutzer
    Registriert seit
    07.05.2010
    Beiträge
    40

    Standard

    Das "--clean" hat mir anscheinend weder ein "DROP Table" noch ein "TRUNCATE Table" eingebaut. Aber anders gefragt: Was wäre denn generell der richtige Weg, wenn ich NUR die Daten, aber nicht das Schema zurückkopieren möchte und denduplicate key - Error bei bei Tabellen und Sequenzen vermeiden möchte? Oder wär das vom Prinzip her schon richtig, wie ich es gemacht habe?

  4. #4
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von Hannes23 Beitrag anzeigen
    Das "--clean" hat mir anscheinend weder ein "DROP Table" noch ein "TRUNCATE Table" eingebaut. Aber anders gefragt: Was wäre denn generell der richtige Weg, wenn ich NUR die Daten, aber nicht das Schema zurückkopieren möchte und denduplicate key - Error bei bei Tabellen und Sequenzen vermeiden möchte? Oder wär das vom Prinzip her schon richtig, wie ich es gemacht habe?
    Da mußt dann wohl dafür sorgen, daß die Tabellen leer sind. Das --clean macht IIRC ein DROP DATABASE, nicht einzelne Tabellen etc.

    Aber mal anders gefragt: warum soll da das Schema ausgeklammert werden? Die DDL-Befehle sind meist deutlich weniger im Umfang als die eigentlichen Daten.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  5. #5
    Hannes23 ist offline Benutzer
    Registriert seit
    07.05.2010
    Beiträge
    40

    Standard

    Hallo Andreas, der Grund, warum ich das Schema an der Stelle nicht löschen kann, hängt ganz woanders, das würde jetzt hier wohl zu weit vom Thema wegführen und keinem weiterhelfen, hihi. Ich hab mir jetzt mal damit beholfen, dass ich ein Script geschrieben habe, das die Tabellen löscht. Nicht die schönste Lösung, aber hilft zumindest ein bisschen weiter... Trotzdem vielen Dank!

Ähnliche Themen

  1. Case-insensitive unique constraint
    Von fuppes im Forum Allgemeines
    Antworten: 2
    Letzter Beitrag: 09.10.2008, 14:35
  2. Frage CHECK-Constraint vs. UNIQUE-Index
    Von symbiont im Forum Allgemeines
    Antworten: 1
    Letzter Beitrag: 26.09.2008, 10:45
  3. unique-constraint und null-Werte
    Von merlin-hst im Forum Trigger und Funktionen
    Antworten: 1
    Letzter Beitrag: 27.07.2007, 11:23
  4. Automatische Indexgenerierung bei Unique-Constraint etc.
    Von bierstuegbl im Forum Allgemeines
    Antworten: 8
    Letzter Beitrag: 30.11.2006, 12:35
  5. Antworten: 3
    Letzter Beitrag: 28.04.2006, 12:17

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum