张亚琪 <zhangyingyun001@gmail.com> writes:
> show timezone;
> TimeZone
> ----------
> PRC
> (1 row)
> # update history_configuration set var_datetime = 'Wed Dec 24 18:52:46 CST
>> 2014' where var_name = 'lastHourAggr';
> # select * from history_configuration ;
> var_name | var_value | var_datetime
> -------------------+-----------+------------------------
> lastHourAggr | | 2014-12-25 08:52:46+08
As John says, this behavior is perfectly expected because Postgres thinks
"CST" means US Central Standard Time (GMT-6, currently).
If you want CST to mean China Standard Time, you'll need to set up a
custom zone abbreviation file. See
http://www.postgresql.org/docs/9.3/static/datetime-config-files.html
For some reason this interpretation of "CST" got missed out when preparing
the sample data in Asia.txt, but I think what you need is just
@INCLUDE Default
@OVERRIDE
CST 28800
regards, tom lane