Mailing List Archive

Timezone inconsistencies

I recently upgraded my DAViCal server from an embarrassingly-old version
of Debian (and DAViCal). Things are working pretty well, but I'm getting
errors in my log file, such as:

davical: ***: ERROR:Could not recognize timezone "GMT-0700" - will use
floating time

I notice that Lukas Ruf reported a similar problem a few years ago ( ), and said
he would be creating a GitLab issue about it, but I have not been able
to find an issue.

So I looked at my database, and most of the timezones there have the
olson_name field populated (and most of the time it is the same as
tzid). The exceptions to this are:

davical=# select tzid, olson_name from timezones where olson_name is null;
           tzid            | olson_name
 Etc/GMT+5                 |
 (UTC) Monrovia, Reykjavik |
 GMT-0700                  |
 GMT-0400                  |
 GMT-0800                  |
 GMT-0500                  |
 GMT+0100                  |
 GMT-0600                  |
 Etc/GMT+6                 |
(9 rows)

Sure enough these are exactly the time zones the errors are complaining
about. I could just populate these fields with the corresponding
canonical time zone name, but I'm reluctant to arbitrarily make this
change. There are also a few timezones where the olson_name is different
from tzid:

                  tzid                  |     olson_name     
 US/Eastern                             | America/New_York
 Pacific Standard Time                  | America/Los_Angeles
 Eastern Standard Time                  | America/New_York
 US/Central                             | America/Chicago
 US/Mountain                            | America/Denver
 (UTC-05:00) Eastern Time (US & Canada) | America/New_York
(6 rows)

I would have thought that maybe these belong in tz_aliases, but that
table seems to mostly contain canonical names and not aliases:

davical=# select * from tz_aliases;
 our_tzno |       tzalias      
        1 | US/Pacific
        2 | America/Los_Angeles
        3 | America/New_York
(3 rows)

I'd appreciate any insight into how these tables relate to each other,
and any thoughts on how my database got this way.


Davical-general mailing list