22008: datetime_field_overflow
PostgreSQLЧто это значит?
При вычислении или разборе значения даты/времени одно из полей вышло за допустимый диапазон. Например, получен невозможный компонент, такой как месяц 13 или день 32, либо результат за пределами поддерживаемого диапазона времени.
Почему возникает?
Недопустимая входная дата (например, '2026-02-30'), компонент вне диапазона или сложение с INTERVAL, выходящее за поддерживаемый диапазон дат. Типичная причина — разбор с неверным форматом/локалью или вставка непроверенного пользовательского ввода.
Как исправить
Проверяйте входные даты в приложении перед вставкой и отправляйте их в правильном формате (предпочтительно ISO 8601: YYYY-MM-DD). При разборе с помощью TO_DATE/TO_TIMESTAMP приводите маску формата в соответствие с входными данными. Держите результаты арифметики в пределах поддерживаемого диапазона дат; пропускайте подозрительные значения через проверки границ.