Re: 8.1.x (tested 8.1.8) timezone bugs - Mailing list pgsql-hackers

From Tom Lane
Subject Re: 8.1.x (tested 8.1.8) timezone bugs
Date
Msg-id 8354.1173813519@sss.pgh.pa.us
Whole thread Raw
In response to Re: 8.1.x (tested 8.1.8) timezone bugs  ("Joshua D. Drake" <jd@commandprompt.com>)
Responses Re: 8.1.x (tested 8.1.8) timezone bugs  ("Joshua D. Drake" <jd@commandprompt.com>)
List pgsql-hackers
"Joshua D. Drake" <jd@commandprompt.com> writes:
> That is my actual concern. Before DST it wasn't an issue, now it is. Is
> that PostgreSQL's problem? Probably not, but it certainly seems
> inconsistent.

[ digs around... ]  Here we are (in localtime.c):

/** The DST rules to use if TZ has no rules and we can't load TZDEFRULES.* We default to US rules as of 1999-08-17.*
POSIX1003.1 section 8.1.1 says that the default DST rules are* implementation dependent; for historical reasons, US
rulesare a* common default.*/
 
#define TZDEFRULESTRING ",M4.1.0,M10.5.0"

AFAICS there is not any provision in the code that reads that string to
have different rules in different years, so you're more or less stuck
with being wrong before 2007 or being wrong after.  Realistically this
means that POSIX-style rule strings are no longer useful, and you'd
better start using one of the zic timezone names.  Which, prior to 8.2,
means you'd better spell PST8PDT in upper case ... or maybe insert a
symlink in the timezone/ tree to make the lower-case name valid ...
        regards, tom lane


pgsql-hackers by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: 8.1.x (tested 8.1.8) timezone bugs
Next
From: "Joshua D. Drake"
Date:
Subject: Re: 8.1.x (tested 8.1.8) timezone bugs