Sync our copy of the timezone library with IANA release tzcode2026b.
Tom Lane <tgl@sss.pgh.pa.us>
Sync our copy of the timezone library with IANA release tzcode2026b. This was moderately tedious, because upstream has been busy since we last did this in 2020. Notably, they changed the signatures of both tzload() and tzparse(), which we'd unwisely exposed as API for callers to use. I concluded that the best answer was to change them both back to "static" and instead expose a new API function of our own choosing, pg_tzload(). That change may be a sufficient reason not to back-patch this update, as I'd normally want to do. There's probably not a good reason for extensions to be calling those functions, but on the other hand there are few pressing reasons for a back-patch. The one bug we have run into (a Valgrind uninitialized-data complaint about zic) appears to have no field-visible consequences. A few of the files generated by this version of zic are not byte-for-byte the same as before, but "zdump -v" avers that they represent the same sets of transitions. Discussion: https://postgr.es/m/2294297.1780270682@sss.pgh.pa.us
Files
| Path | Change | +/− |
|---|---|---|
| src/bin/initdb/findtimezone.c | modified | +3 −16 |
| src/timezone/localtime.c | modified | +660 −639 |
| src/timezone/pgtz.c | modified | +12 −32 |
| src/timezone/pgtz.h | modified | +55 −18 |
| src/timezone/private.h | modified | +193 −56 |
| src/timezone/README | modified | +7 −13 |
| src/timezone/strftime.c | modified | +18 −23 |
| src/timezone/tzfile.h | modified | +35 −20 |
| src/timezone/zic.c | modified | +2058 −1061 |
| src/tools/pgindent/typedefs.list | modified | +2 −0 |
Discussion
- Update our timezone code to IANA tzcode2026b 2 messages · 2026-05-31 → 2026-06-01