Thread: timestamptz insert

timestamptz insert

From
"Seader, Cameron"
Date:
hi,
I am having trouble with the following SQL insert

 $createtbl  =  "CREATE TABLE $table (";
 $createtbl .= "UTCTime timestamptz,";
 $createtbl .= "error text,";
 $createtbl .= "lowalarm bigint,";
 $createtbl .=  "highalarm bigint";
 $createtbl .= "$points";
 $createtbl .=  ") ";

When i insert data into the timestamptz field it is  automatically adding on
the time zone of MST which is not correct. The data that is being inserted
is not MST it is GMT. how do i make it insert as GMT.

note: it keeps the date and times the same, but it just adds the -07 to the
end of the timestamp. when it should accually just be adding -00 to the end
so that it stays in GMT format.

??? Do i need to do a SET timezone under psql on the database ???

Cameron Seader
Operations Center Technician II
CSeader@Idahopower.com
1.208.388.2582 Office



[INFO] -- Access Manager:
This transmission may contain information that is privileged, confidential and/or exempt from disclosure under
applicablelaw.  If you are not the intended recipient, you are hereby notified that any disclosure, copying,
distribution,or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you
receivedthis transmission in error, please immediately contact the sender and destroy the material in its entirety,
whetherin electronic or hard copy format.  Thank you.   A2 



Re: timestamptz insert

From
Tom Lane
Date:
"Seader, Cameron" <CSeader@idahopower.com> writes:
> When i insert data into the timestamptz field it is  automatically adding on
> the time zone of MST which is not correct. The data that is being inserted
> is not MST it is GMT. how do i make it insert as GMT.

You can either SET TIMEZONE TO 'GMT' or explicitly specify -00 in the
input data.  If you want it to come back out in GMT then you will
definitely need to set the timezone value.

Realize that what is stored in the database is GMT in any case.  If you
enter a timestamp that doesn't mention any particular zone, then it is
assumed to be in the zone specified by the timezone variable.  In either
case, a non-GMT timestamp is then adjusted to GMT for storage.  When the
value is displayed, it is adjusted back to the zone currently selected
by the timezone variable (which might or might not be the same as the
zone it was originally entered in).  A little experimentation with
changing timezone and seeing how entry and output are affected should
make this clearer.

            regards, tom lane