[pgsql-jp: 39978] 8.4 で timestamp の time zone 変換が

IT tech.ichiro @ gmail.com
2009年 8月 26日 (水) 13:45:29 JST


はじめまして。中上と申します。

【環境】
 PostgreSQL8.4
 Windows Vista SP1 日本語版 32bit


timestamp without time zone から timestamp with time zone への変換で
以下の現象が発生しております。

【現象】
 1887-12-31 14:59:59 以前の timestamp without time zone を
  AT TIME ZONE 'UTC' で timestamp with time zone に変換すると、
 1888-01-01 00:18:58+09:18:59 のように、
 時間帯指定が +09 ではなく、+09:18:59 となる。

【再現SQL】
postgres=# SELECT '1887-12-31 14:59:59'::timestamp without time zone
AT TIME ZONE 'UTC';
           timezone
------------------------------
 1888-01-01 00:18:58+09:18:59
(1 行)


上記日時以降は正常に+09 に変換できます。

postgres=# SELECT '1887-12-31 15:00:00'::timestamp without time zone
AT TIME ZONE 'UTC';
        timezone
------------------------
 1888-01-01 00:00:00+09
(1 行)


PostgreSQL8.3.7では、私が試した限りどんな時刻でも +09 に変換出来ますので、
8.4のバグかもしれないと思っているのですが、いかがでしょうか?

またPostgreSQL8.4で +09 に変換する方法がありましたらご教授下さい。



pgsql-jp メーリングリストの案内