- Software y sistemas
- Base de datos
22003
PostgreSQL 22003 en base de datos: valor numérico fuera de rango
Evidencia vinculada a esta decisión
Ver fuente: PostgreSQL 18 Appendix A: Error CodesNivel de riesgo
Precaución
Actúa con cuidado; puede requerir técnico si persiste.
Urgencia
Media — atiéndelo hoy
Respuesta rápida
Un número no cabe en el tipo de la columna o del cálculo. Revisa el dato que introdujiste; si eres desarrollador, compara el valor con el rango del tipo y no lo recortes en silencio para que pase.
Seguridad primero
Antes de continuar
- No recortes ni redondees el dato en la aplicación solo para que entre: guardarías un valor distinto del real sin aviso. Si la cifra es correcta, detente y avisa al soporte.
Puedes hacerlo con seguridad
- Dato introducido en la aplicación
- Columna y tipo afectados
- Rango frente al dato real
Deja estas tareas a un profesional cualificado
- No intentes esta tarea profesional: Cambio de tipo revisado por el DBA
- No intentes esta tarea profesional: Corrección del cálculo en la aplicación
Lo que un técnico debe poder justificar
Viene un técnico a casa
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.
Cambio de tipo revisado por el DBA
Qué haceEl DBA evalúa cambiar el tipo de la columna (por ejemplo, integer a bigint o más precisión en numeric) con una migración probada.
Te tiene que enseñarel valor máximo actual frente al rango del tipo.
Por escritola migración aplicada y la prueba con el dato que fallaba.
Corrección del cálculo en la aplicación
Qué haceEl desarrollador ajusta la expresión que desborda, por ejemplo calculando en un tipo más amplio.
Te tiene que enseñarla sentencia antes y después.
Por escritoel cambio y su prueba.
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.
Dato introducido en la aplicación
- Quién:
- tú, quien usa la aplicación.
- Cómo:
- revisa la cifra que escribiste: ceros de más, separador decimal o unidades.
- Resultado que importa:
- si el número es razonable para ese campo.
- Si había un error de tecleo:
- confírmalo corrigiendo el dato; el error desaparece.
- Si la cifra es correcta:
- indica un límite de la base; avisa al soporte.
- Evidencia a conservar:
- captura del formulario y del mensaje, con hora.
Evidencia: PostgreSQL 18 Appendix A: Error Codes
Columna y tipo afectados
- Quién:
- tú, como desarrollador.
- Cómo:
- lee los campos del error (Message, Detail, Where, Column si viene) y localiza la columna o la expresión.
- Resultado que importa:
- el tipo declarado y el valor que se intentó guardar.
- Si el valor supera el rango del tipo:
- confirma la causa; el diseño del tipo debe revisarse.
- Si el valor cabe en la columna:
- apunta a un cálculo intermedio; revisa la expresión.
- Evidencia a conservar:
- sentencia, valor y tipo de la columna.
Evidencia: PostgreSQL error and notice fields · PostgreSQL 18 numeric types
Rango frente al dato real
- Quién:
- tú, como desarrollador.
- Cómo:
- compara el valor con el rango de la tabla de tipos enteros o con la precisión y escala de numeric.
- Resultado que importa:
- cuánto margen falta.
- Si es un entero que se acerca al máximo de integer:
- indica que bigint es la alternativa documentada.
- Si es numeric:
- indica que la precisión declarada no basta para ese dato.
- Evidencia a conservar:
- rango del tipo y valor máximo observado.
Evidencia: PostgreSQL 18 numeric types
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 22003 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
- numeric_value_out_of_range
- PostgreSQL 22003
- SQLSTATE 22003
Qué significa
El apéndice A asigna 22003 a numeric_value_out_of_range, en la clase 22 Data Exception. Según la documentación de tipos numéricos, guardar un valor fuera del rango permitido produce un error: smallint admite de -32768 a +32767, integer de -2147483648 a +2147483647 y bigint su propio rango; en numeric(precisión, escala) falla si sobran dígitos a la izquierda de la coma; en real y double precision los valores demasiado grandes o pequeños dan error. El código señala el valor y el tipo, no un fallo del servidor.
Advertencias y condiciones de parada
- Precauciónadvertencia editorial
No recortes ni redondees el dato en la aplicación solo para que entre: guardarías un valor distinto del real sin aviso. Si la cifra es correcta, detente y avisa al soporte.
Evidencia: PostgreSQL 18 numeric types
Síntomas y causas
Causas probables · en orden
- Valor mayor que el rango del tipo enteroFrecuente
Un identificador o contador supera el máximo de integer o smallint. Se confirma comparando el valor con el rango del tipo de la columna.
Evidencia: PostgreSQL 18 Appendix A: Error Codes · PostgreSQL 18 numeric types
- Precisión de numeric insuficientePosible
La columna numeric(p, s) no admite tantos dígitos a la izquierda de la coma. Pasa con importes o medidas más grandes de lo previsto.
Evidencia: PostgreSQL 18 numeric types
- Resultado de un cálculo intermedio que desbordaPosible
Una suma o multiplicación supera el tipo aunque los datos de entrada quepan. El campo Where o Position señala la expresión.
Evidencia: PostgreSQL error and notice fields · PostgreSQL 18 numeric types
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?