22P02: invalid_text_representation
PostgreSQLO que significa?
Um valor de texto não era uma representação válida para o tipo de dado de destino durante a conversão. Por exemplo, tentar converter o texto 'abc' em integer gera este erro.
Por que acontece?
Texto não numérico enviado a uma coluna/parâmetro numérico; uma string vazia ('') convertida em número/data; texto inválido para um UUID ou enum; JSON malformado; dados de entrada fora do formato esperado.
Como resolver
Verifique se o valor convertido é realmente válido. Valide a entrada na aplicação antes da conversão de tipo. Converta strings vazias em NULL: NULLIF(value, ''). Para uma conversão segura no PostgreSQL 16+, teste o valor antes com pg_input_is_valid('abc', 'integer') e use pg_input_error_info() para os detalhes do erro; em versões mais antigas, considere uma verificação de validação (regex). Restrinja a busca para descobrir qual linha está com problema.