From: cnliou <cnliou@so-net.net.tw>
To: pgsql-interfaces@postgresql.org
Subject: Inserting timestamp values from windowz application
Date: Wed, 03 Dec 2003 01:27:36 +0800 (CST)
Message-ID: <1070386056.30928.cnliou@so-net.net.tw> (raw)
Hi!
I am inserting timestamp values from C++Builder project1.exe
compiled with ZEOSLIB on Win98 (set to time zone UTC+8
hours) into the table:
CREATE TABLE (c1 TIMESTAMP WITH TIME ZONE);
After project1.exe connects to postgres via libpq.dll, the
query
SHOW TIME ZONE
returns "unknown", which is as expected. Then I do the
insert from project1.exe:
INSERT INTO test VALUES (CAST('2003-1-1' AS TIMESTAMP));
What weird is that this datetime value is saved to column c1
as 2002-12-31 16:00:00 UTC. This means that some component
among zeoslib, libpq, win98, or postgres is _too_ smart that
it assumes the to-insert value being local time at time zone
UTC+08 and converts the value to UTC.
This automatic behavior is not what I would like to see. I
guess zeoslib is unlikely to be the component that does the
conversion. How does this smart component know that the
to-insert value stands for the local time at UTC+08 time
zone?
I need a "manual" way to explicitly tell postgres the
client's time zone by sending from project1.exe the query
"SET TIME ZONE -5" or the like to postgres.
Would anyone kindly offer some solutions to my requirement
or explanations for the symptom?
Regards,
CN
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: cnliou@so-net.net.tw
Subject: Re: Inserting timestamp values from windowz application
In-Reply-To: <1070386056.30928.cnliou@so-net.net.tw>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox