Vancouver stayed on UTC−07:00 on November 1. A scheduler using the old fall-back rule could turn a 9 a.m. appointment on November 6 into 17:00 UTC. That is 10 a.m. in Vancouver under the current rule. Google flagged this failure mode in its October 30 notes for Cloud SQL for PostgreSQL. Affected unpatched instances can be an hour behind when evaluating certain Canadian time zones, even though the update in time rules leaves stored timestamps alone. If you already calculated the appointment or queued its reminder, check that saved result after patching. British Columbia’s time change guidance · Cloud SQL release notes
AI generated and fact-checked this article against the linked public sources. It was prepared through an automated workflow, and Keith has not reviewed it.
The public Primetime Home Health Services case study describes a delivered website and a management layer whose activation is staged. It covers coordination across schedules and visit records, including a design that preserves original clock evidence when corrections are reviewed. That distinction is useful here. An appointment expresses when someone intends to show up. A recorded clock-in is evidence of when something happened. The examples below use fictional appointments and a separate PostgreSQL test setup. Primetime case study
Check the conversion in the place that does the work
Use a fixed local date and time for the test. If PostgreSQL computes the UTC instant, run this query against the database version the scheduling worker actually uses. The first conversion interprets 09:00 in Vancouver. The second renders the resulting instant as a UTC timestamp without a zone. PostgreSQL date and time functions
SELECT (TIMESTAMP '2026-11-06 09:00:00' AT TIME ZONE 'America/Vancouver') AT TIME ZONE 'UTC' AS appointment_utc; The expected result is November 6 at 16:00 UTC. A database applying the old winter offset returns 17:00. Include October 30 at 9 a.m. as a control. Both rules give 16:00 UTC for that date, so a test that only looks at the week before the transition can pass. IANA’s 2026b release documents Vancouver’s move to a permanent UTC−07:00 offset. Google identifies PostgreSQL maintenance release R20260712.01_44 or later as supporting the updated rules for the affected zones. IANA release notes · Cloud SQL release notes
Run the same fixture through the application and its reminder worker. Compare the actual UTC instant each component produces with the expected value from the fixture. A calendar can show the correct local time from the original appointment fields while the worker still sends from an instant computed under old rules. A screen check can miss that split.
Find the queue entries the patch cannot repair
For a visit that should stay at 9 a.m. local time, keep the intended local date and time and the named zone alongside the derived instant. If a reminder is due 30 minutes before that visit, its expected send time is 15:30 UTC. A queue entry created from the stale conversion would instead contain 16:30 UTC. Updating the rules helps the next calculation. The saved queue entry still has its old value until the application replaces it.
Start with a dry run on pending visits in the affected zone. Recompute from the original local schedule and list each proposed change with its old and new UTC times. If a record only has a UTC timestamp, check the source schedule or route it for review. The timestamp alone cannot tell you whether the appointment was meant to follow the wall clock or was explicitly booked at that instant.
After review, replace pending reminder jobs by appointment and schedule revision. Have workers check that revision before sending, so an old job already picked up by a worker can be skipped if it has been superseded. If a reminder was already sent, give the coordinator the old and new times so they can decide whether to send a correction. Keep original clock-in evidence intact and record any correction separately.
The useful acceptance check ends with what staff would see and what the worker would send. Create one fictional visit, simulate an old queue entry, apply the correction, and verify that the schedule still shows 9 a.m. and that only the current reminder is eligible to send at 15:30 UTC.