Re: Messed up time zones - Mailing list pgsql-admin

From Laszlo Nagy
Subject Re: Messed up time zones
Date
Msg-id 501B976B.8060700@shopzeus.com
Whole thread Raw
In response to Re: Messed up time zones  (JC de Villa <jc.devilla@gmail.com>)
Responses Re: Messed up time zones  (JC de Villa <jc.devilla@gmail.com>)
List pgsql-admin


Isn't:

select now() at time zone 'Australia/ATC' 

supposed to be:

select now() at time zone 'Australia/ACT'
I see now. The abbreviation is usually a time zone name. But to be correct, the time zone name should be used (and not the abbreviation).

And looking at the pg_timezone_names table for EST, there's only one entry for EST:

SELECT * from pg_timezone_names where name = 'EST';
 name | abbrev | utc_offset | is_dst 
------+--------+------------+--------
 EST  | EST    | -05:00:00  | f

Okay, but that is the "name", and not the "abbrev" field. So time zone abbreviations are not unique? Then probably it is my fault - I thought that they will be unique. It is still an interesting question, how others interpret these (non-unique) abbreviations? But I guess that is not related to PostgreSQL so I'm being offtopic here.


One last question. Am I right in that PostgreSQL does not handle leap seconds?

template1=> set time zone 'UTC';
template1=> select '2008-12-31 23:59:60'::timestamp;
      timestamp     
---------------------
 2009-01-01 00:00:00
(1 row)

And probably intervals are affected too:

template1=> set time zone 'UTC';
template1=> select '2008-12-31 00:00:00'::timestamp + '48 hours'::interval;
      timestamp     
---------------------
 2009-01-02 00:00:00
(1 row)

Should be '2009-01-01 23:59:59' instead.

Thanks,

   Laszlo


pgsql-admin by date:

Previous
From: JC de Villa
Date:
Subject: Re: Messed up time zones
Next
From: JC de Villa
Date:
Subject: Re: Messed up time zones