Florian Weimer <fw@deneb.enyo.de> writes:
> There's a story making the rounds that the removal of the
> /usr/share/zoneinfo/US/Pacific etc. in Debian broke installations.
> These identifiers should not be used, but they may get picked by
> initdb if they are shorter than the alternatives.
Ugh. (Fortunately, I don't think fixing this is any harder than
editing the timezone entries in postgresql.conf.)
> The length-based
> tie breaking was introduced in commit e3846a00c2f ("Prefer timezone
> name "UTC" over alternative spellings.").
Just for the record, it's far older than that. Looks like it
dates to 2def4552e from 2004.
> Would it make sense to ignore symbolic links when searching for the
> time zone identifier under /usr/share/zoneinfo in scan_available_timezones?
That seems only vaguely related to the problem. If a distro
arbitrarily decides they can remove some zoneinfo entries,
that's going to break someone. Also, it's common to implement
zone links as hardlinks not symlinks (Red Hat, for one, does
it that way), in which case this heuristic won't help at all.
I'd just as soon not introduce a behavior that will result in
choosing different zone names on different platforms even
when they have logically-equivalent zoneinfo contents.
regards, tom lane