PostgreSQL-Fehler: invalid input syntax for type

ERROR:  invalid input syntax for type integer: "abc"

Ein Textwert musste in einen typisierten umgewandelt werden — integer, uuid, date, numeric — und konnte nicht geparst werden. Die Meldung zitiert den anstößigen Wert, was meist die Quelle sofort identifiziert: eine Kopfzeile, ein leerer String oder Daten, die nie validiert wurden.

Was dieser Fehler bedeutet

Dies feuert überall dort, wo Text auf einen Typ trifft: explizite Casts ('abc'::int), als Text gebundene Parameter, COPY, das eine Datei liest, oder implizite Konvertierungen in Vergleichen. Beachten Sie, was es nicht ist: ein NULL-Problem (NULL castet problemlos zu allem) — es ist ein Wert, der existiert und für den Zieltyp fehlerhaft ist. Der leere String ist der Klassiker: ''::int schlägt fehl, weil leer nicht null ist.

Häufige Ursachen

So diagnostizieren Sie ihn

So beheben Sie ihn