On 9/20/21 11:04 AM, Paul Eggert via tz wrote:
If it's important for PostgreSQL to get data that exactly matches 2021a (except for changes you don't object to), I suggested in <https://mm.icann.org/pipermail/tz/2021-June/030197.html> adding a build-time option to let projects like PostgreSQL choose whatever 'backzone' data they want, instead of 'backzone' being an all-or-nothing decision as it is now. This would let these projects avoid the objected-to changes
Attached is a proposed implementation of this suggestion. The idea is to make it easy for projects like PostgreSQL to act as if the recent alike-since-1970 changes had not occurred, without having to fork tzdb. To try this out in PostgreSQL, you can copy the attached file tzdata.zi to postgres/src/timezone/data/tzdata.zi. This tzdata.zi file contains the other post-2021a changes; just not the alike-since-1970 changes. To generate this tzdata.zi file automatically from the tz main branch, you can do the following: 1. Apply the attached patches to tzdb's current main branch. 2. Save the attached file bias2021a.bp. 3. Run the following shell command: make BACKPICK=bias2021a.bp PACKRATDATA=backzone tzdata.zi The file bias2021a.bp is a "backpick" file that says which Zones and Links should be picked out from the file 'backzone', overriding the other data. bias2021a.bp's comments contain more description. As I hope the comments make clear, this bias2021a.bp file is intended only as a demonstration; the PostgreSQL developers can and should tailor it to fit their needs and project goals. My idea is to apply the attached patches to the tzdb main development branch, with the PostgreSQL developer choosing whatever .bp file they like. Comments welcome.