select open change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

SQLSTATE / CLASS 22 · DATA EXCEPTION

invalid_time_zone_displacement_value

SQLSTATE
22009
Condition name
invalid_time_zone_displacement_value
Class
Data Exception
Source macro
ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE
Evidence
Source path confirmed
Analysis & operational context

English SQLSTATE atlas: authored explanations and source/runtime evidence are separate from the manual definitions. View source ↗

<h1>22009</h1>

At a glance

22009 is invalid_time_zone_displacement_value. The fixed timetz_recv binary-input path rejects a GMT displacement outside the supported range.

Meaning

22009 is invalid_time_zone_displacement_value. The confirmed timetz_recv guard checks the received GMT displacement against PostgreSQL's supported limit; this is a binary input contract, not a generic session TimeZone setting error.

Messages

The confirmed guard raises ERROR with primary time zone displacement out of range. It has no fixed DETAIL or HINT in this source path. This page is source-only; no natural runtime observation is claimed.

Diagnosis

Inspect the supplied zone offset and the binary timetz receiver or protocol decoder that delivered it. Keep an invalid displacement distinct from a generic datetime field overflow or a session TimeZone setting.

Response

Validate and replace the offset in the client or binary input that supplied it; use a named zone only when the input contract supports that representation. This is an ERROR: in an explicit transaction, roll back the transaction or roll back to a savepoint established before the failing conversion before continuing. Validate at the client boundary before repeating the conversion. No runtime case was run for this page.

Versions

The locked catalogue records this condition from 7.4 in the listed formal snapshots and 19beta3; fixed source coverage is PostgreSQL 18.6.

Sources

See the fixed source links and scope limits in the structured evidence record.

Source evidence

Evidence belongs to the frozen source and runtime versions listed here. It is not a runtime verification of the selected manual version.

22009 is invalid_time_zone_displacement_value in SQLSTATE Class 22.

Method: Read fixed definition.

src.errcodes.18.6

The date/time binary receive path checks the GMT displacement against the supported TZDISP_LIMIT and emits 22009 when it is outside that range.

Method: Read the complete displacement guard.

Limits: This is a displacement-range error, distinct from malformed date text or session TimeZone configuration.

src.path.timezone-displacement

The locked catalogue records 22009 from 7.4 without proving an exact implementation introduction date.

Method: Use catalogue boundary.

src.errcodes.18.6

Message templates

ERROR · message.timezone

Primary

time zone displacement out of range

Reproduction & repair cases

No reproduction case is attached to this condition.

Recorded runtime evidence

No runtime observation is attached to this entry.

Definition snapshot: english-manuals:de0fa4ed880a437adb5ca12ec9b… · English manual source