Unabhängige technische ReferenzOffizielle Website
  • Software und digitale Dienste
  • Datenbank

23505

PostgreSQL 23505: Verletzung einer Unique-Bedingung

Mit Quellen verifiziert2 QuellenGeprüft 22. Aug. 2026
Kommt ein Techniker? Das muss er Ihnen zeigen

Risikostufe

Niedrig

In der Regel ohne Spezialwerkzeug sicher prüfbar.

Dringlichkeit

Mittel

Kurzantwort

SQLSTATE 23505 ist unique_violation. Ein INSERT oder UPDATE wollte eine Wertekombination erzeugen die mit einer Unique-Constraint oder einem Unique-Index kollidiert.

Sicherheit zuerst

Vor dem Fortfahren

  • Lösche nicht pauschal Datensätze und entferne keine Unique-Constraint. Identifiziere zuerst die genannte Regel und das gewünschte Konfliktverhalten.

Sichere Prüfungen, die Sie durchführen können

  • Alle Datenbank-Fehlerfelder erfassen
  • Genannte Eindeutigkeitsregel prüfen
  • Ungültigen oder erwarteten Konflikt unterscheiden

Diese Arbeiten qualifiziertem Fachpersonal überlassen

  • Diese Facharbeit nicht selbst durchführen: Schreibpfad und Parallelitätsmodell prüfen

Was Fachpersonal begründen können muss

Ein Techniker kommt

Diese Schritte muss er durchführen und Ihnen zeigen. Haken Sie sie ab: Werden Schritte übersprungen, keinen Teiletausch akzeptieren.

Dies sind keine Anweisungen, das Gerät selbst zu öffnen oder zu bearbeiten. Es sind die Prüfungen, die eine technische Schlussfolgerung stützen müssen.

  1. Schreibpfad und Parallelitätsmodell prüfen

    Was er tutEin Datenbankspezialist sollte bei wiederholtem 23505 Transaktionen Idempotenzschlüssel Konfliktziele und die geschützte Geschäftsregel prüfen.

Vor der Zustimmung zu Teil oder Reparatur

Noch nichts belegt. Akzeptieren Sie keinen Teiletausch allein wegen des Codes.

Folgen Sie diesen Schritten

Hinweis: Halten Sie die dokumentierte Reihenfolge ein. Ein Fehlercode bezeichnet das betroffene System, beweist aber allein kein defektes Bauteil.

  1. Alle Datenbank-Fehlerfelder erfassen

    Werkzeug erforderlich

    Erfasse SQLSTATE 23505 zusammen mit Constraint-Name Tabelle und dem vom Treiber gelieferten Detail. Diagnose nicht nur anhand der Nummer.

    Entferne Produktionsdaten und Zugangsdaten bevor du Logs teilst.

    Beleg: PostgreSQL current error codes appendix

  2. Genannte Eindeutigkeitsregel prüfen

    Werkzeug erforderlich

    Prüfe welche Spalten oder Ausdrücke die genannte Constraint oder der Index schützt und vergleiche den vorgeschlagenen Schlüssel mit dem vorhandenen Datensatz.

    Entferne die Eindeutigkeitsregel nicht nur um den Fehler zu unterdrücken.

    Beleg: PostgreSQL current error codes appendix

  3. Ungültigen oder erwarteten Konflikt unterscheiden

    Werkzeug erforderlich

    Korrigiere ungültige Quelldaten. Definiere bei idempotenten Vorgängen oder Upserts gezielt DO NOTHING oder DO UPDATE und das passende Konfliktziel.

    Eine zu breite Konfliktbehandlung kann echte Datenqualitätsfehler verdecken.

    Beleg: PostgreSQL current INSERT and ON CONFLICT documentation

Problem nicht gelöst

Bleibt der Fehler, hören Sie hier auf. Siehe was der Techniker tun und zeigen muss.

Wo dieser Code gilt

Ein Code ist nur im richtigen Produkt- und Versionskontext eindeutig.

Primärer Geltungsbereich

System
Software und digitale Dienste
Marke
PostgreSQL
Produkttyp
Datenbank

Bekannte Codevarianten

  • PostgreSQL 23505
  • SQLSTATE 23505
  • unique_violation

Was der Code bedeutet

Der Fehler gehört zur Klasse 23 der Integritätsverletzungen. Ob ungültige Daten eine idempotente Wiederholung oder ein erwarteter Konflikt vorliegt bestimmt die richtige Korrektur.

Warnungen und Abbruchbedingungen

  • Hochredaktioneller Warnhinweis

    Lösche nicht pauschal Datensätze und entferne keine Unique-Constraint. Identifiziere zuerst die genannte Regel und das gewünschte Konfliktverhalten.

    Beleg: PostgreSQL current error codes appendix · PostgreSQL current INSERT and ON CONFLICT documentation

Symptome und Ursachen

Wahrscheinliche Ursachen · nach Relevanz

  • Verletzung einer Unique-ConstraintBestätigt

    PostgreSQL ordnet SQLSTATE 23505 als unique_violation der Klasse 23 für Integritätsverletzungen zu.

    Beleg: PostgreSQL current error codes appendix

  • INSERT oder UPDATE kollidiert mit einem vorhandenen SchlüsselHäufig

    Die vorgeschlagene Zeile dupliziert eine Wertekombination die durch eine Unique-Constraint oder einen Unique-Index geschützt ist.

    Beleg: PostgreSQL current error codes appendix · PostgreSQL current INSERT and ON CONFLICT documentation

  • Erwarteter Parallelitätskonflikt ohne klare RichtlinieMöglich

    Bei gültigen wiederholten oder gleichzeitigen Schreibvorgängen kann eine bewusste ON-CONFLICT-Aktion statt eines pauschalen Wiederholens nötig sein.

    Beleg: PostgreSQL current INSERT and ON CONFLICT documentation

Virtueller Techniker

Wird 23505 nach diesen Prüfungen weiterhin angezeigt?

Beantworten Sie einige Fragen, um die wahrscheinliche Ursache und den sichersten nächsten Schritt einzugrenzen. Die Orientierung ersetzt kein Fachpersonal.

Quellen und technische Referenzen

  1. 1

    PostgreSQL current error codes appendix

    PostgreSQL Global Development Group · 2026 · official_doc

  2. 2

    PostgreSQL current INSERT and ON CONFLICT documentation

    PostgreSQL Global Development Group · 2026 · official_doc

Quellen: PostgreSQL current error codes appendix · PostgreSQL current INSERT and ON CONFLICT documentationgeprüft 2026-08-22 · verifiziert

War dieser Eintrag hilfreich?