Обсуждение: DST question
I am trying to get Daylight Savings Time working for the EAST Brazilian time zone. In Brazil for 2007, the DST change occurs on Oct. 13-14.
I tried setting the DB to each of the following time zones with the statement: SET SESSION TIME ZONE <TZ>;
Where <TZ> was one of the following:
‘America/Sao_Paulo Brazil/East’;
‘EBST3EBDT’;
‘BRT’
The DST switch appears to happen on 10/28/2007 between the hours of 1am and 2am with all 3 of those strings.
The output of select version(); is:
PostgreSQL 8.1.5 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux)
O/S is Suse 10.2
How do I get the proper DST for East Brazil to work?
Thanks.
"Wright, George" <George.Wright@infimatic.com> writes:
> I am trying to get Daylight Savings Time working for the EAST Brazilian
> time zone. In Brazil for 2007, the DST change occurs on Oct. 13-14.
You need a newer version of the zic timezone database. Way newer --- it
looks to me like the first version of the zic files that knows the above
rules is 2007h, which was released today. You'd need to grab
ftp://elsie.nci.nih.gov/pub/tzdata2007h.tar.gz, feed it through zic,
and put the files into place in the Postgres installation tree.
<rant>
Suggestion: lobby your politicians to set DST transition dates more than
just a month in advance. Or even (heaven forbid) have a law that stays
the same for years at a time. Don't they realize that people have
better things to do than scramble to update their equipment at the last
minute?
</rant>
regards, tom lane
I downloaded the archive and extracted the files, and ran zic on them
(southamerica in particular)
When I execute zdump Brazil/East I see the following:
Brazil/East Sun Oct 21 02:59:59 2029 UTC = Sat Oct 20 23:59:59 2029 BRT
isdst=0 gmtoff=-10800
Brazil/East Sun Oct 21 03:00:00 2029 UTC = Sun Oct 21 01:00:00 2029
BRST isdst=1 gmtoff=-7200
These appear to be the old rules. I'm not sure what I did wrong. I
rebooted PostGreSQL and the box just in case but still see the old
values.
Any ideas?
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Monday, October 01, 2007 2:10 PM
To: Wright, George
Cc: pgsql-novice@postgresql.org
Subject: Re: [NOVICE] DST question
"Wright, George" <George.Wright@infimatic.com> writes:
> I am trying to get Daylight Savings Time working for the EAST
Brazilian
> time zone. In Brazil for 2007, the DST change occurs on Oct. 13-14.
You need a newer version of the zic timezone database. Way newer --- it
looks to me like the first version of the zic files that knows the above
rules is 2007h, which was released today. You'd need to grab
ftp://elsie.nci.nih.gov/pub/tzdata2007h.tar.gz, feed it through zic,
and put the files into place in the Postgres installation tree.
<rant>
Suggestion: lobby your politicians to set DST transition dates more than
just a month in advance. Or even (heaven forbid) have a law that stays
the same for years at a time. Don't they realize that people have
better things to do than scramble to update their equipment at the last
minute?
</rant>
regards, tom lane
"Wright, George" <George.Wright@infimatic.com> writes:
> I downloaded the archive and extracted the files, and ran zic on them
> (southamerica in particular)
> When I execute zdump Brazil/East I see the following:
> Brazil/East Sun Oct 21 02:59:59 2029 UTC =3D Sat Oct 20 23:59:59 2029 BRT
> isdst=3D0 gmtoff=3D-10800
> Brazil/East Sun Oct 21 03:00:00 2029 UTC =3D Sun Oct 21 01:00:00 2029
> BRST isdst=3D1 gmtoff=3D-7200
> These appear to be the old rules. I'm not sure what I did wrong. I
> rebooted PostGreSQL and the box just in case but still see the old
> values.=20
Did you put the files in the right place?
zdump probably looks at /usr/share/zoneinfo (or local equivalent)
by default. Postgres looks in $sharedir/timezone, where
"pg_config --sharedir" will tell you what $sharedir is. You'll
probably need to update both of those directory trees and reboot
before everything in the system will notice the new rules.
regards, tom lane
Thank you so much! It did work when I got the directories correct.
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Monday, October 01, 2007 7:08 PM
To: Wright, George
Cc: pgsql-novice@postgresql.org
Subject: Re: [NOVICE] DST question
"Wright, George" <George.Wright@infimatic.com> writes:
> I downloaded the archive and extracted the files, and ran zic on them
> (southamerica in particular)
> When I execute zdump Brazil/East I see the following:
> Brazil/East Sun Oct 21 02:59:59 2029 UTC =3D Sat Oct 20 23:59:59 2029
BRT
> isdst=3D0 gmtoff=3D-10800
> Brazil/East Sun Oct 21 03:00:00 2029 UTC =3D Sun Oct 21 01:00:00 2029
> BRST isdst=3D1 gmtoff=3D-7200
> These appear to be the old rules. I'm not sure what I did wrong. I
> rebooted PostGreSQL and the box just in case but still see the old
> values.=20
Did you put the files in the right place?
zdump probably looks at /usr/share/zoneinfo (or local equivalent)
by default. Postgres looks in $sharedir/timezone, where
"pg_config --sharedir" will tell you what $sharedir is. You'll
probably need to update both of those directory trees and reboot
before everything in the system will notice the new rules.
regards, tom lane