跳转到主要内容

22009 — invalid_time_zone_displacement_value

PostgreSQL SQLSTATE 22009 的源码与诊断参考。

22009

速览

固定 timetz_recv 二进制输入路径报告 time zone displacement out of range,表示 GMT 位移超过支持范围。

字段
SQLSTATE 22009
条件名 invalid_time_zone_displacement_value
状态 有效
已知存在于 7.4
锁定快照 9.0.23, 9.1.24, 9.2.24, 9.3.25, 9.4.26, 9.5.25, 9.6.24, 10.23, 11.22, 12.22, 13.23, 14.24, 15.19, 16.15, 17.11, 18.6, 19beta3
ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE
别名

含义

已确认的 timetz_recv guard 会把收到的 GMT 位移与 PostgreSQL 支持的上限比较;这是二进制输入契约错误,不是一般 session TimeZone 设置错误。

报文

已确认的 guard 以 ERROR 严重性报告 primary:time zone displacement out of range。该源码路径没有固定 DETAIL 或 HINT。本页只有源码证据,没有自然运行观察。

诊断

保留实际收到的 offset 数值,检查提供该值的二进制 timetz 接收器或协议解码器,区分位移越界、一般 datetime 字段越界和 session TimeZone 设置问题。

处置

在提供该值的客户端或二进制输入边界校验并替换位移;只有输入契约支持时才改用具有预期语义的命名时区。这是 ERROR:显式事务中要回滚整个事务,或回滚到失败转换前建立的保存点后再继续。本页没有运行案例。

版本

锁定目录从 7.4 记录该条件,并在列出的正式快照及 19beta3 中出现;固定源码覆盖为 PostgreSQL 18.6。

22000, 22001, 22003, 22004

来源

详见结构化的证据记录,其中列出固定源码链接与范围限制。