British Columbia's move to permanent Pacific Daylight Time (UTC-7) starting March 2026 creates a real data integrity problem for PostgreSQL users storing future timestamps. The `timestamptz` type stores UTC and reconverts using current timezone rules, so appointments stored before a `tzdata` update will return incorrect local times after the update. A SQL query is provided to check whether your `tzdata` has already been updated. The recommended solution is a dual-column pattern storing the wall-clock local time, the IANA timezone name, and a trigger-computed UTC timestamp separately. This preserves user intent and allows recomputation when timezone rules change. RFC 9557 explicitly does not solve this problem. A remediation checklist is also provided for cases where `tzdata` has already been updated and data may be corrupted.

7m read timeFrom crunchydata.com
Post cover image
Table of contents
An Example of the Timezone ShiftA schema that survives time zone changes: dual column patternTimezone changes with dual columnsWhat about RFC 9557?What to do if tzdata has already updated?
194 Impressions