Inserting timestamp values from windowz application
От | cnliou |
---|---|
Тема | Inserting timestamp values from windowz application |
Дата | |
Msg-id | 1070386056.30928.cnliou@so-net.net.tw обсуждение исходный текст |
Ответы |
Re: Inserting timestamp values from windowz application
|
Список | pgsql-interfaces |
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
В списке pgsql-interfaces по дате отправления: