Top
Best
New

Posted by move-on-by 1 day ago

Debian 13, Postgres, and the US time zones(rachelbythebay.com)
271 points | 142 comments
JdeBP 1 day ago|
This does not trace things back far enough. The root is where IANA has long since segregated out a set of timezone file names into a "backward" collection:

* https://data.iana.org/time-zones/tzdb/backward

If one traces references, one finds this connected bug on Launchpad. Amusingly to anyone who has ever seen these sweeping timezone database changes over the years, Launchpad marked it as "This bug affects 1 person.".

* https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/200807...

The rules for the "backward" file are here:

* https://data.iana.org/time-zones/theory.html#naming

All of the US/* timezone names, such as US/Pacific here, have been backwards compatibility measures in place for the whole of the 21st century and some of the late 20th. The Olson database in the 1980s (mod.sources v08i085, comp.sources.unix v14i030) used these names. But the naming scheme changed somewhen in the 1990s to a continent/city and ocean/city form and backwards compatibility with the old names has been preserved ever since by the "backward" file.

* https://groups.google.com/g/comp.unix.solaris/c/ON_MPZxVdv0/...

Debian has moved into a non-depended-upon package a backwards compatibility measure that is as old as Debian itself.

AnssiH 1 day ago||
> Launchpad marked it as "This bug affects 1 person.".

That just means no one has clicked "affects me too" button yet (after logging in).

ForHackernews 1 day ago||
It's good Debian is making this change now to be prepared when the legacy United States are downed at the end of 2052.
phantom784 1 day ago|||
That is the logic for using city-based timezone names rather than countries. Country borders change but cities tend to be more stable.
fph 21 hours ago|||
Someone must have complained about `China/Hong Kong` to cause this change.
dripton 23 hours ago||||
Istanbul's not Constantinople.
dsr_ 22 hours ago||
You mean Byzantium? Nova Roma?

https://en.wikipedia.org/wiki/Names_of_Istanbul

charcircuit 22 hours ago|||
The laws of the country can affect what timezone is used.
tempodox 1 day ago|||
I can’t tell whether you’re joking. Seems like a distinct possibility now.
maybewhenthesun 1 day ago||
2052? I hope the last 2 digits aren't swapped...
boredumb 23 hours ago||
keep that energy when you and your family are starving in the dark with no running water.
yellers 1 day ago||
Hang on a second, "(...) in 2023. US/* was moved to tzdata-legacy (...)"

US/* was moved to 'backward' (the file for backward compatibility) in the tz database in 1993(!) and as such was essentially marked as deprecated long enough. https://data.iana.org/time-zones/tzdb/backward

You're telling me you didn't notice ? It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying ‘Beware of the Leopard.

mynegation 1 day ago||
Not only did I not notice, I have never known that country prefixes were a thing, having to deal with tzdata since 1999. I wonder if that timezone was typed in manually? I doubt Postgres 15 file contained it to begin with.
zahlman 1 day ago|||
> You're telling me you didn't notice ? It was...

In a large fraction of cases in the FOSS world, it comes across that the developers really do want to communicate this sort of thing, but there's no clarity on where or how they should do so. See for example various deprecations in Python packaging tools (and standards).

JdeBP 1 day ago|||
In this case, they did communicate it, and the aforegiven Vogon reference is a mischaracterization. The naming convention is in the current IANA doco and Eggert copy.

* https://data.iana.org/time-zones/tz-link.html#tzdb

* https://web.cs.ucla.edu/~eggert/tz/tz-link.htm#tzdb

Paul Eggert explained the continent/ocean plus largest city naming convention on a WWW page almost a quarter of a century ago. The WWW page was so well publicized that you can find its URL baked into at least four of the O'Reilly animal-cover books from the early 2000s.

* https://web.archive.org/web/20011023074744/http://www.twinsu...

It was explained on Usenet and on mailing lists prior to that.

bbarnett 1 day ago|||
You know, the tzdata people are quite haughty. They claim to store all that change, accurately, and yet here we are.

An example of this falsehood? Well, in the 70s my father convinced most of my hometown, at least the portions between Main St and Wharf, that DST was absurd.

For almost an entire year, this was observed.

Do you think they kept record in tzdata? I tried to convince them, but no! I still have some dateplanners my father had printed up, and even a picture of the sign that was out on the road (to alert visitors!).

But no!

Do not trust the tzdata people. As you can see, they are not so accurate.

macintux 1 day ago|||
Once upon a time I stumbled upon a small book of maps showing the time zones in Indiana each year in the mid-20th century. It was fascinating to see how various towns and cities would jump back and forth between Eastern and Central year to year, with little regard for the surrounding rural areas.

I frequently kick myself for losing track of that book.

kccqzy 1 day ago||||
You are just not providing sufficient proof. Think Wikipedia style proof. The fact that DST is or isn't observed should be published in a real book. A random dude printing some date planners or putting up a sign to be photographed isn't enough proof.
js2 21 hours ago||||
It seems like they're being pragmatic, not haughty:

> "The tz database is not authoritative, and it surely has errors. [...] Errors in the tz database arise from many sources: Sometimes, different people in the same city maintain clocks that differ significantly. [...] Even if the time is specified by law, locations sometimes deliberately flout the law. [...] Any attempt to pass the tz database off as the definition of time should be unacceptable to anybody who cares about the facts."

https://data.iana.org/time-zones/theory.html#accuracy

dogecoinbase 21 hours ago|||
If you'd be willing to scan/post those I'd love to see them!
rollcat 1 day ago|||
Then you get the reverse. I just upgraded to macOS Sonoma (yes I'm always one major version behind with Apple stuff...), and I was annoyed as heck when I had to click through "Look what's new in Calendar!", "Look what's new in Reminders!", "Look what's new in StripClubs!"... I need to use my software right now, I will not read this. Then I will forget it ever popped up, and will not read it in the future either.
thesuitonym 1 day ago||
There's a vast difference between Apple showing you all it's useless new AI integrations and developers telling system administrators what they need to know.
skydhash 1 day ago||
And I think Debian sent those notes also via its mail system (exim + mail). I don’t usually care for my workstation, but I do check it for my servers.
joeyh 1 day ago||
NEWS.Debian entries are displayed by apt-listchanges in a pager by default when running apt upgrade, as well as sent by email.
cpburns2009 1 day ago||
Why are time-zones even prefixed by continent? Country-prefixed time-zones make more sense because they're defined politically.
eurg 1 day ago|||
Cities may find themselves in other countries easier than on other continents.
umanwizard 1 day ago||||
In addition to what others have said, there are several examples where people disagree about which country a city is “rightfully” in.

Nobody can really find fault with Asia/Jerusalem, whereas either Israel/Jerusalem or Palestine/Jerusalem would be controversial.

hnuser123456 1 day ago|||
I disagree. Country borders can move. I have not heard of a city moving between continents however.
yellers 15 hours ago||
Istanbul does so all the time. Or never. #schrödinger
roelschroeven 1 day ago||
> The worst part about this is that it didn't get so much as a mention in the Debian 13 release notes. I read through that document before going for it and never encountered it. Indeed, even now, you won't find "tzdata" or "zone" in it.

I had another issue during my upgrade to Debian 13 that also wasn't mentioned in the release notes. I filed a bug report, but I was told that the issue was not important enough to put in the release notes, and I should have instead more closely read NEWS.Debian of the package. So I don't really know anymore what the "Issues to be aware of" chapter in the release notes is for, because apparently it's only a small selection of issues you need to be aware of.

styanax 1 day ago||
Sharing undocumented gotcha: nginx default config (/etc/nginx/nginx.conf) now has `server_tokens off` set with a comment that it's "common practice" (agreed). This is not in upstream's git version of the file[1], I therefore presume it's a Debian maintainer change.

The operational upgrade failure is if you have any existing drop-in config that sets `server_tokens off` already a hard fail Nginx error about duplicated keywords will occur, causing the apt process to exit with failure code(s) during the standard upgrade process.

[1] https://github.com/nginx/nginx/blob/master/conf/nginx.conf

JdeBP 23 hours ago||
Tip: Debian provides browsable source repositories so it is usually easy to find out whether something is a local Debian change.

* https://packages.debian.org/source/sid/nginx

* https://salsa.debian.org/nginx-team/nginx/-/commit/3e7838a6b...

* https://salsa.debian.org/nginx-team/nginx/-/merge_requests/8...

msk-lywenn 1 day ago||
What was your issue ?
roelschroeven 1 day ago||
The version of pdns-recursor in trixie uses a different configuration file syntax then older versions.

(There is a tool to convert the old configuration syntax to the new, but it requires a working installation. There is a command line option to enable support for the old format, which if nothing else helps to be able to run the conversion tool, but there's no information how to enable that command line option in the way Debian starts pdns-recursor.)

Tepix 1 day ago||
Pro tip: Use the command

    timedatectl list-timezones
to get a list of all timezones your debian based OS recognises.

For your convenience, here is a list for a Debian 13 box with 628 entries:

https://pastes.io/output-of-timedatectl-list-timezones-on-de...

BrandoElFollito 23 hours ago||
I wonder why Poland is separate, when there is Europe/Warsaw
JdeBP 21 hours ago||
Poland is another backwards compatibility alias in the backward file; which you will notice is also in Debian's other package, as of Debian 13.
guesswho_ 1 day ago||
[dead]
acdha 1 day ago||
I ran into a similar bug in Git Lab where the v18 upgrade didn’t replace now-unsupported time zones so things like scheduled pipelines simply stopped running and were labeled inactive in the UI without explanation.

https://gitlab.com/gitlab-org/gitlab/-/issues/556779#note_26...

The fix is simply to change them to the non-backwards linked names but it caused some confusing API errors since data which would no longer pass validation was already in the database and didn’t look wrong.

evdubs 1 day ago||
I also ran into this using:

- Debian 13

- Interactive Brokers' Trader Workstation

- Racket's `gregor` date and time library

IBKR still sends the old, deprecated US/* timezones. As noted in the article, the solution is to `apt install tzdata-legacy`.

nona 1 day ago||
This is why Debian users should use apt-listchanges to display the latest NEWS.Debian items on upgrade.

I wouldn't expect to see all the important news of the tens of thousands of packages I don't have installed in the release notes.

I was hit by this using unstable (before they made a NEWS item), but when upgrading my stable machines to trixie I got a proper warning/reminder of this specific thing.

TheNewsIsHere 22 hours ago|
You’re not wrong in general terms, but tzdata is fairly well essential, a default component, and a dependency for unpteen things in the ecosystem. Of course a line must be drawn somewhere, but this really is a “major” caveat.
op00to 1 day ago||
I feel like I’ve been using America/New_York for a decade at least. Am I misremembering?
umanwizard 1 day ago||
That’s one of the normal Continent/City time zones, not one of the weird Country/ZoneName ones that have been deprecated for ages. “America” here refers to the continent or continents[0], not the USA.

0: Note that different cultures disagree on whether there are two continents called North America and South America, or one continent called America.

db48x 1 day ago||
No, that’s been the standard name for a quarter century.
poemxo 1 day ago||
I don't get how this is a snag, it's right there in the log.
skylurk 1 day ago|
Agreed.

> At the time, I went "WTF?" and just commented it out to get it running again. I had bigger fish to fry... and just kind of forgot about it. Everything seemed fine.

I get this, but now you get to laugh and dust yourself off. If it had silently started doing the wrong thing, that would be a worthy complaint.

burnt-resistor 1 day ago|
Always run production systems in the Etc/UTC timezone. This eliminates an entire class of problems while only creating minor inconveniences.
bityard 1 day ago||
I work for a company with servers, employees, and customers in basically every time zone around the world. And yet every server, internal tool, and workflow uses Pacific time. UTC is used precisely nowhere. Setting aside the issues of DST, I imagine it's convenient for the employees and managers in HQ but absolute madness for everyone else.
a012 1 day ago|||
Are you at Google? Because they also keep using US/Pacific timezone in every incidents where it affects everyone over the globe
zappb 1 day ago||
That description could match nearly any tech company in the Bay Area or Seattle and everything along the coast.
burnt-resistor 21 hours ago|||
How provincial. There are other ways.
macintux 1 day ago|||
I work with a development team who manages data integration and migration for massive datasets, and they have sensibly set a standard that every date/time value they store in their databases will be UTC.

But they explicitly or implicitly have also decided not to store the timezone in the strings, so every single value is technically ambiguous. Absolutely drives me crazy.

Update: since there have been questions, these are strings, not native datetime values.

stubish 14 hours ago|||
Even if you stored the timezone, the values are technically ambiguous. Even when you are using globally unique timezone identifiers like 'America/New_York' instead of 'EST' and its several meanings. A timestamp such as '2025-09-13 13:00 America/New_York' could end up referring to a different instant next week due to a correction in the timezone database. Unlikely for this sort of problem to happen and need correcting in major timezones, but it has happened for less popular and historical timezones. The way for them to be non-ambiguous, representing an unchangable instant in time, is to store the timestamp converted to a timezone that will never have retroactive changes and has no daylight savings time transitions, such as UTC. At which point, storing the timezone identifier is redundant (and violates the principle of not allowing illegal values to be represented if you follow that).
macintux 12 hours ago||
I feel strongly that a string time value with no specified timezone is dangerous.

You have to make certain it is always handled as UTC, and if you export it to another system without making the timezone explicit, or anyone who is unfamiliar with the convention views it, you’ve lost the guarantee.

When you’re shuffling around petabytes of data, adding another few megabytes to include the “Z” at the end of every timestamp is hardly a major expense.

shawnz 1 day ago||||
Postgres always stores date/time values in UTC (if they are timezone-aware)
macintux 1 day ago||
These are strings. And not Postgres.
ta1243 1 day ago|||
> they have sensibly set a standard that every date/time value they store in their databases will be UTC.

Not sensible at all for future date/times.

Tepix 1 day ago|||
For servers, i agree 100%. For desktop systems, not so much.
kawsper 1 day ago|||
How else could you tell what time it is on the servers?
raverbashing 1 day ago||
That's easy, if you're Walmart just use the TZ of your corporate HQ

(That's what I heard anyway)

kstrauser 1 day ago|||
My non-Walmart startup was expanding from California to other regions many years ago, and there was some debate about whether we’d use UTC or America/Los_Angeles globally. I was part of Team Over My Dead Body.
actionfromafar 1 day ago||
But on which side? :)
kstrauser 1 day ago||
There can be only one!
madcaptenor 1 day ago||||
I work for a different company headquartered in the central time zone and we also do this. On some systems.
ThePowerOfFuet 1 day ago|||
Google's internal timestamps are in Pacific Time, too.
actionfromafar 1 day ago|||
Eastern Standard Tribe, represent!
kstrauser 1 day ago||
I appreciated the reference.
bornfreddy 1 day ago|||
It also makes sense. Timezone is user specific - if you have users from all over the globe, they will need different settings, so this should be set in frontend.
bayindirh 1 day ago||
You can also run in UTC+$YOUR_OFFSET timezone if you don't use DST.

On the other hand, UTCx timezones are not silver bullets if your fleet is a part of a multi-continent federation.

More comments...