I would expect 'epoch'::timestamp to always act as though the value were the same as Unix time zero. But it did not explicitly return that value:We have just upgraded from 7.1.3 to 7.2.3 over the weekend, and have just noticed something weird with regards 'epoch'::timestamp. In 7.1.3, 'epoch'::timestamp always returned the value 1970-01-01 00:00:00+00,...
lockhart=# select version();
-------------------------------------------------------------
PostgreSQL 7.1.2 on i686-pc-linux-gnu, compiled by GCC 2.96
lockhart=# select 'epoch'::timestamp;
----------
epoch
lockhart=# select 'epoch'::timestamp + '0 sec'::interval;
------------------------
1969-12-31 16:00:00-08
following the upgrade we now get:-Which is consistant with the previous result in absolute time.
timestamptz ------------------------
1970-01-01 01:00:00+01
You will find that the most recent versions of PostgreSQL convert 'epoch' on input, and that with- and without time zone data types are available:
lockhart=# select cast('epoch' as timestamp with time zone);
timestamptz
------------------------
1969-12-31 16:00:00-08
lockhart=# select cast('epoch' as timestamp without time zone);
timestamp
---------------------
1970-01-01 00:00:00
Also, any fields set to 'epoch'::timestamp before the upgrade now return:-Not sure about this one. What is the schema? Can you give an example where the time gets shifted by an hour?
e_app_xfer_date ------------------------
1970-01-01 00:00:00+01
If we issue a SET TIMEZONE TO 'GMT' the results are the same as for the
previous release.
Using "special values" to indicate status can be troublesome, as you are finding. I'd suggest using NULL to indicate that a field is not known or not yet set.This is causing us a problem as we use epoch to indicate whether the data has been processed, and to log the date and time of processing.
This email and any files attached to it are confidential and intended solely for the use of the individual or entity to whom they are
addressed. If you have received this email in error please notify the system manager.
Oops. Can you please confirm that we were the intended recipients? ;)
hth - Thomas ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html