Thread: [SQL/BUGS] (possible) inconsistent behaviour of timestamp?

[SQL/BUGS] (possible) inconsistent behaviour of timestamp?

From
"Rison, Stuart"
Date:
Here's an "interesting" timestamp related postgreSQL quirk:

testdb2=# select "timestamp"('now');        timestamp
----------------------------2002-11-26 13:47:12.454157
(1 row)

testdb2=# select 'now'::timestamp;        timestamptz
------------------------------2002-11-26 13:47:34.88358+00
(1 row)

testdb2=# select timestamp 'now';         timestamptz
-------------------------------2002-11-26 13:47:47.701731+00
(1 row)

The first SELECT returns a 'timestamp', but the next two return a
'timestamptz' (presumably with timezone); is this inconsitent behaviour?

Cheers,

Stuart.
Royal Veterinary College
London, UK


Re: [SQL/BUGS] (possible) inconsistent behaviour of timestamp?

From
Tom Lane
Date:
"Rison, Stuart" <srison@rvc.ac.uk> writes:
> The first SELECT returns a 'timestamp', but the next two return a
> 'timestamptz' (presumably with timezone); is this inconsitent behaviour?

Yes.  It's a transitional behavior in 7.2: timestamp without any quotes
is translated by the parser to timestamptz (ie, timestamp with time
zone).  Quotes suppress the renaming, however.

We did that deliberately for one release to ease updating, because PG's
old "datetime" datatype corresponds to timestamptz, not timestamp-without-
time-zone.  As of 7.3 that renaming doesn't happen any more, and
undecorated timestamp means timestamp without time zone, per spec.

Confused yet?  I'm not sure that this update plan was really a great
idea, but we agreed to it a release or two back, and we're sticking to
it...
        regards, tom lane