Re: Behavior of "at time zone" - Mailing list pgsql-general

From Andrew Crouch
Subject Re: Behavior of "at time zone"
Date
Msg-id 0180077C49A2B54E9BBA5D6E725A75CD0C9CE5B098@ESGSCCMS0003.eapac.ericsson.se
Whole thread Raw
In response to Re: Behavior of "at time zone"  (Adrian Klaver <adrian.klaver@gmail.com>)
Responses Re: Behavior of "at time zone"  (Adrian Klaver <adrian.klaver@gmail.com>)
List pgsql-general
Hi Adrian,
          Thanks for your reply.   However, I still don't fully understand why SET TIMEZONE TO and AT TIME ZONE behave
differently. Morever the /usr/share/pgsql/timezonesets/America.txt (POSIX) specifies the BRST timezone with a two hour
negativeoffset. Unless I'm missing something the AT TIME ZONE construct is swapping the signs of the offset when
specifyingthe timezone numerically.  

Cheers,
Andrew

-----Original Message-----
From: Adrian Klaver [mailto:adrian.klaver@gmail.com]
Sent: Friday, 29 January 2010 11:57 AM
To: pgsql-general@postgresql.org
Cc: Andrew Crouch
Subject: Re: [GENERAL] Behavior of "at time zone"

On Friday 29 January 2010 5:34:04 am Andrew Crouch wrote:
> Hi there,
>          I'm looking to use the "at time zone" language feature,
> however the results below don't really agree with my expectations.  Is
> this a bug in 8.4 or am I misinterpreting the results?  If it is a
> bug, has it been fixed in the development releases?
>
>
> psql (8.4.0)
> Type "help" for help.
>
> ispdb_br=> set timezone to '-2';
> SET
> ispdb_br=> select now();
>               now
> -------------------------------
>  2010-01-29 11:26:22.833697-02
> (1 row)
>
> ispdb_br=> select now() at time zone 'BRST';
>           timezone
> ----------------------------
>  2010-01-29 11:26:30.521964
> (1 row)
>
> ispdb_br=> select now() at time zone '-2';
>           timezone
> ----------------------------
>  2010-01-29 15:26:47.010222
> (1 row)
>
> ispdb_br=> select now() at time zone '+2';
>          timezone
> ---------------------------
>  2010-01-29 11:26:49.55412
> (1 row)

From here:
http://www.postgresql.org/docs/8.4/interactive/datatype-datetime.html#DATATYPE-TIMEZONES

"One should be wary that the POSIX-style time zone feature can lead to silently accepting bogus input, since there is
nocheck on the reasonableness of the zone abbreviations. For example, SET TIMEZONE TO FOOBAR0 will work, leaving the
systemeffectively using a rather peculiar abbreviation for UTC. Another issue to keep in mind is that in POSIX time
zonenames, positive offsets are used for locations west of Greenwich. Everywhere else, PostgreSQL follows the ISO-8601
conventionthat positive timezone offsets are east of Greenwich. " 


>
>
> Regards,
> Andrew



--
Adrian Klaver
adrian.klaver@gmail.com

pgsql-general by date:

Previous
From: John R Pierce
Date:
Subject: Re: Amazon EC2 CPU Utilization
Next
From: Moe
Date:
Subject: Possible to set postgres in case insensitive mode ?