Errore PostgreSQL: value too long for type character varying

ERROR:  value too long for type character varying(50)

Una stringa ha superato il limite di lunghezza dichiarato della sua colonna, e PostgreSQL ha rifiutato la scrittura invece di troncarla silenziosamente. Fastidiosamente, il messaggio indica il tipo ma non la colonna — trovare quale colonna è il primo passo.

Cosa significa questo errore

Due fatti specifici di PostgreSQL inquadrano la soluzione:

Cause comuni

Come diagnosticarlo

-- Quali colonne varchar(50) ha la tabella sospetta:
SELECT column_name, character_maximum_length
FROM information_schema.columns
WHERE table_name = 'users' AND character_maximum_length IS NOT NULL;

Poi confronta con il payload che è fallito. Se lo statement è loggato, i valori sono proprio lì.

Come risolverlo