Hi all, I'd like to bring up a timezone data issue that was recently reported by a community user and share what we've found so far.
A user in Mexico reported a 1-hour time discrepancy between the OS and the database when using the America/Mexico_City timezone. After investigation, we identified the root cause: 1. Mexico abolished Daylight Saving Time in October 2022 Mexico officially stopped observing DST, so America/Mexico_City should now stay on CST (UTC-6) year-round. However, the database still switches to CDT (UTC-5) every April, causing the 1-hour discrepancy the user reported. 2. Cloudberry's bundled tzdata is outdated Cloudberry is based on PostgreSQL 14.4 (circa 2022), which ships with tzdata 2022a (released March 2022) — before Mexico's DST abolishment was enacted. The fix was included in tzdata 2022f (released October 2022), but Cloudberry never picked it up. 3. PostgreSQL upstream has long since fixed this Upstream PostgreSQL updated the bundled tzdata multiple times since then, with the latest being 2025b. The key change was modifying the Mexico DST rule from "2002 to max" to "2002 to 2022", so that DST is no longer applied after 2022. I have verified that the upstream tzdata updates (2022f through 2025b) can be cleanly cherry-picked onto the REL_2_STABLE branch. A draft PR is available at: https://github.com/apache/cloudberry/pull/1674 The changes are limited to timezone data files only — no code logic is involved. Besides the Mexico fix, these updates also include DST law changes for Greenland and Chile, new timezones like America/Ciudad_Juarez and America/Coyhaique, and historical corrections for multiple regions. We don't need to apply this to main separately, as it will be covered by the upcoming PostgreSQL 16.x merge. The original issue is tracked at: https://github.com/apache/cloudberry/issues/1670 Any feedback or concerns are welcome. Thanks! Best regards, Max Yang
