- Software y sistemas
- Base de datos
22P02
PostgreSQL 22P02 en base de datos: texto que no se puede convertir al tipo
Evidencia vinculada a esta decisión
Ver fuente: PostgreSQL 18 Appendix A: Error CodesNivel de riesgo
Seguro
Puedes actuar sin peligro siguiendo las comprobaciones seguras.
Urgencia
Media — atiéndelo hoy
Respuesta rápida
PostgreSQL recibió un texto que no puede leer como el tipo de destino, por ejemplo letras donde se espera un número. Revisa el valor exacto y la columna o conversión que señala el error, y envía el dato con el tipo correcto.
Seguridad primero
Antes de continuar
- No construyas la sentencia concatenando el texto del usuario para esquivar la conversión: usa parámetros del driver.
Puedes hacerlo con seguridad
- Valor y destino de la conversión
- Forma de enviar los parámetros
- Lo que puede hacer quien introduce el dato
Deja estas tareas a un profesional cualificado
- No intentes esta tarea profesional: Validar el formato antes de la base
- No intentes esta tarea profesional: Revisar datos importados
Lo que un técnico debe poder justificar
Viene un técnico
Estos son los pasos que tiene que hacer y enseñarte. Márcalos mientras trabaja: si se salta pasos, no aceptes el cambio de pieza.
No son instrucciones para que abras o manipules el equipo. Son las comprobaciones que deben sostener una conclusión técnica.
Validar el formato antes de la base
Qué haceEl desarrollador valida el tipo en la entrada y usa parámetros tipados del driver.
Te tiene que enseñarla validación y la consulta parametrizada.
Por escritolas pruebas con valores vacíos y mal formados.
Revisar datos importados
Qué haceSi el error aparece al importar, el equipo identifica las filas con formato no válido antes de cargarlas.
Te tiene que enseñarla lista de filas rechazadas.
Por escritola corrección aplicada.
Antes de aceptar una pieza o reparación
Aún no ha demostrado nada. No aceptes un cambio de pieza solo por el código.
Sigue estos pasos
Aviso: Sigue el orden documentado. Un código identifica el sistema afectado, pero por sí solo no demuestra qué pieza está averiada.
Valor y destino de la conversión
- Quién:
- tú, como desarrollador.
- Cómo:
- usa Position y Detail del error para identificar la columna o conversión, y registra una copia anonimizada del valor.
- Resultado que importa:
- qué tipo se esperaba y qué texto llegó.
- Si el texto no tiene forma válida para el tipo:
- confirma un dato mal formado en origen.
- Si el texto parece válido:
- apunta a espacios, comillas o caracteres invisibles; revísalo byte a byte.
- Evidencia a conservar:
- valor anonimizado, tipo esperado y hora.
Evidencia: PostgreSQL 18 Appendix A: Error Codes · PostgreSQL error and notice fields
Forma de enviar los parámetros
- Quién:
- tú, como desarrollador.
- Cómo:
- revisa si la consulta usa parámetros con tipo o concatena texto en la sentencia.
- Resultado que importa:
- cómo llega el valor al servidor.
- Si se concatena texto:
- indica un riesgo añadido; pasa a parámetros del driver.
- Si ya son parámetros:
- descarta la construcción y valida el valor en la entrada.
- Evidencia a conservar:
- fragmento de código sin datos personales.
Evidencia: PostgreSQL 18 lexical structure
Lo que puede hacer quien introduce el dato
- Quién:
- quien usa la aplicación.
- Cómo:
- revisa el campo que rellenaste: números sin letras ni símbolos, identificadores completos.
- Resultado que importa:
- si el formulario acepta el valor corregido.
- Si lo acepta:
- confirma que era el dato.
- Si sigue fallando con un valor correcto:
- indica un fallo de la aplicación; avisa al soporte con la hora.
- Evidencia a conservar:
- captura del campo y del mensaje.
Evidencia: PostgreSQL 18 Appendix A: Error Codes
Situación no resuelta
Si el error persiste, no sigas probando por tu cuenta. Mira qué tiene que hacer y enseñarte el técnico.
Técnico virtual
¿Sigue apareciendo 22P02 tras comprobarlo?
Este recorrido usa el código exacto y tus respuestas para elegir una prueba, su resultado esperado y la siguiente bifurcación.
Dónde se aplica este código
Un código solo tiene significado dentro del producto y la versión correctos.
Ámbito principal
- Sistema
- Software y sistemas
- Marca
- PostgreSQL
- Tipo de producto
- Base de datos
Variantes conocidas del código
- invalid_text_representation
- PostgreSQL 22P02
- SQLSTATE 22P02
Qué significa
El apéndice A asigna 22P02 a invalid_text_representation, en la clase 22 (excepción de datos). Ocurre cuando un valor escrito como texto no tiene una forma válida para el tipo al que se convierte: entero, booleano, UUID u otros. El campo Position puede señalar el punto de la sentencia y Detail aportar más datos. Las constantes de texto van entre comillas simples. El código indica un dato mal formado, no un fallo de la tabla.
Advertencias y condiciones de parada
- Seguroadvertencia editorial
No construyas la sentencia concatenando el texto del usuario para esquivar la conversión: usa parámetros del driver.
Evidencia: PostgreSQL 18 lexical structure
Síntomas y causas
Causas probables · en orden
- Dato con forma incorrecta para el tipoFrecuente
El valor trae caracteres o formato que el tipo no acepta, como «abc» para un entero. Se confirma probando la misma conversión con ese valor.
Evidencia: PostgreSQL 18 Appendix A: Error Codes
- Parámetro que llega como texto a una columna de otro tipoPosible
La aplicación envía todo como texto y la conversión implícita falla con algunos valores, por ejemplo cadenas vacías. Se distingue porque solo fallan ciertos registros.
Evidencia: PostgreSQL error and notice fields · PostgreSQL 18 lexical structure
Fuentes y referencias técnicas
- 1
PostgreSQL 18 Appendix A: Error Codes
PostgreSQL Global Development Group · 2026 · official_doc
- 2
PostgreSQL error and notice fields
PostgreSQL Global Development Group · 2026 · official_doc
¿Te ha resultado útil esta ficha?