Erreur PostgreSQL : invalid input syntax for type

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

Une valeur textuelle devait être convertie en une valeur typée — integer, uuid, date, numeric — et n'a pas pu être analysée. Le message cite la valeur fautive, ce qui identifie généralement la source immédiatement : une ligne d'en-tête, une chaîne vide, ou des données jamais validées.

Ce que signifie cette erreur

Cela se déclenche partout où le texte rencontre un type : casts explicites ('abc'::int), paramètres liés en texte, COPY lisant un fichier, ou conversions implicites dans les comparaisons. Notez ce que ce n'est pas : un problème de NULL (NULL se caste sans souci vers n'importe quoi) — c'est une valeur qui existe et est malformée pour le type cible. La chaîne vide est le cas classique : ''::int échoue, car vide n'est pas zéro.

Causes fréquentes

Comment la diagnostiquer

Comment la corriger