Обсуждение: Time is off in PG server

Поиск
Список
Период
Сортировка

Time is off in PG server

От
Ericson Smith
Дата:
Hi,

When using date oriented functions on Postgresql, the time is an hour
off, or in certain times, one hour ahead.

System Timezone: EST
System Time (date command): Thu Aug 26 09:44:28 EDT 2004
SELECT now(); : 2004-08-26 08:44:31.307343-05
SELECT date_part('epoch', '2004-08-26'::timestamp) ; : 1093496400 (1am
on that day -- should be 12pm)

Any suggestions?

--
Warmest regards,
Ericson Smith
Tracking Specialist/DBA
+-----------------------+------------------------------+
| http://www.did-it.com | Need help tracking your paid |
| eric@did-it.com       | search campaigns?            |
| 516-255-0500          |        - Help is on the way! |
+-----------------------+------------------------------+


Вложения

Re: Time is off in PG server

От
"Jay A. Kreibich"
Дата:
On Thu, Aug 26, 2004 at 09:47:26AM -0400, Ericson Smith scratched on the wall:
> Hi,
>
> When using date oriented functions on Postgresql, the time is an hour
> off, or in certain times, one hour ahead.
>
> System Timezone: EST
                   ^^^
> System Time (date command): Thu Aug 26 09:44:28 EDT 2004
                                                  ^^^
> SELECT now(); : 2004-08-26 08:44:31.307343-05
> SELECT date_part('epoch', '2004-08-26'::timestamp) ; : 1093496400 (1am
> on that day -- should be 12pm)
>
> Any suggestions?

  Work in the same timezone.  EST and EDT are not the same.

   -j

--
                     Jay A. Kreibich | Integration & Software Eng.
                        jak@uiuc.edu | Campus IT & Edu. Svcs.
          <http://www.uiuc.edu/~jak> | University of Illinois at U/C

Re: Time is off in PG server

От
Tom Lane
Дата:
Ericson Smith <eric@did-it.com> writes:
> When using date oriented functions on Postgresql, the time is an hour
> off, or in certain times, one hour ahead.

> System Timezone: EST
> System Time (date command): Thu Aug 26 09:44:28 EDT 2004
> SELECT now(); : 2004-08-26 08:44:31.307343-05
> SELECT date_part('epoch', '2004-08-26'::timestamp) ; : 1093496400 (1am
> on that day -- should be 12pm)

Looks exactly right to me.  1093496400 corresponds to 1AM EDT, or
midnight EST, and after all you do have the timezone set to EST.
Possibly you want the zone set to EST5EDT instead.

            regards, tom lane

Re: Time is off in PG server

От
Ericson Smith
Дата:
Tom Lane wrote:

>Ericson Smith <eric@did-it.com> writes:
>
>
>>When using date oriented functions on Postgresql, the time is an hour
>>off, or in certain times, one hour ahead.
>>
>>
>
>
>
>>System Timezone: EST
>>System Time (date command): Thu Aug 26 09:44:28 EDT 2004
>>SELECT now(); : 2004-08-26 08:44:31.307343-05
>>SELECT date_part('epoch', '2004-08-26'::timestamp) ; : 1093496400 (1am
>>on that day -- should be 12pm)
>>
>>
>
>Looks exactly right to me.  1093496400 corresponds to 1AM EDT, or
>midnight EST, and after all you do have the timezone set to EST.
>Possibly you want the zone set to EST5EDT instead.
>
>            regards, tom lane
>
>
I realized I made a mistake in that initial email (should have said 12am
instead of pm). However, I tried:

 > set local time zone 'EST5EDT';
SET
 > select now();
 now
-------------------------------
 2004-08-26 10:17:45.472901-05

[root@pg data]# date
Thu Aug 26 11:21:01 EDT 2004

- Ericson

Вложения

Re: Time is off in PG server

От
Tom Lane
Дата:
Ericson Smith <eric@did-it.com> writes:
> I realized I made a mistake in that initial email (should have said 12am
> instead of pm). However, I tried:

>>> set local time zone 'EST5EDT';
> SET
>>> select now();

"set local" was probably not what you wanted to use here.  Per the man page:

    Note that SET LOCAL will appear to have no effect if it is executed outside
    a BEGIN block, since the transaction will end immediately.

            regards, tom lane

Re: Time is off in PG server

От
Ericson Smith
Дата:
Making the setting in the postgresql.conf file worked after i HUP'd the
postmaster, and logged back into my psql sessions.

timezone = 'EST5EDT'

Thanks a million.
- Ericson

>"set local" was probably not what you wanted to use here.  Per the man page:
>
>    Note that SET LOCAL will appear to have no effect if it is executed outside
>    a BEGIN block, since the transaction will end immediately.
>
>            regards, tom lane
>
>

Вложения