Crunchy Data
Read post

British Columbia, Time Zones, and Postgres

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.

    #postgresql
Jun 16•7m read time•From 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?
192 Impressions
Crunchy Data's image
Crunchy Data

CrunchyData's platform is a central hub for PostgreSQL professionals and database administrators, of...

107 Followers

•

900 Upvotes

Would you recommend this post?

Copy link
WhatsApp
Facebook
X
New Squad
  • © 2026 Daily Dev Ltd.
  • Guidelines
  • Explore
  • Tags
  • Sources
  • Squads
  • Leaderboard