22008: datetime_field_overflow
PostgreSQL¿Qué significa?
Al calcular o analizar un valor de fecha/hora, uno de los campos quedó fuera de su rango válido. Por ejemplo, se produjo un componente imposible como el mes 13 o el día 32, o un resultado fuera del rango de tiempo admitido.
¿Por qué ocurre?
Una entrada de fecha no válida (p. ej., '2026-02-30'), un componente fuera de rango o una suma de INTERVAL que supera el rango de fechas admitido. La causa típica es analizar con un formato/locale incorrecto o insertar entradas de usuario sin validar.
Cómo solucionarlo
Valide las entradas de fecha en la aplicación antes de insertarlas y envíelas en el formato correcto (preferiblemente ISO 8601: YYYY-MM-DD). Al analizar con TO_DATE/TO_TIMESTAMP, haga coincidir la máscara de formato con la entrada. Mantenga los resultados aritméticos dentro del rango de fechas admitido; someta los valores sospechosos a comprobaciones de límites.