Re: Inserting timestamp values from windowz application
От | Tom Lane |
---|---|
Тема | Re: Inserting timestamp values from windowz application |
Дата | |
Msg-id | 22898.1070388385@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Inserting timestamp values from windowz application ("cnliou" <cnliou@so-net.net.tw>) |
Список | pgsql-interfaces |
"cnliou" <cnliou@so-net.net.tw> writes: > 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 your system default timezone is UTC+8. The fact that SHOW TIME ZONE returns "unknown" does not mean that your time zone setting is UTC. It means that the standard C library interface doesn't provide any way to find out the setting in string form :-(. SHOW TIME ZONE can tell you something useful if either (1) you've done a SET TIME ZONE, or (2) the variable TZ is defined in the postmaster's environment. Otherwise it says "unknown" ... but the C library nonetheless will find a time zone setting from someplace. > 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. What's so hard about that? regards, tom lane
В списке pgsql-interfaces по дате отправления: