--
--.--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2014
03.14

RoRで「PG::InvalidParameterValue: ERROR: unrecognized time zone name: "UTC" : SET time zone 'UTC'」とか言われる

Category: 未分類
Untitled-23.png

ローカルのタイムゾーン変えたらエラーでて困った。

hoge=> SET time zone 'UTC';
ERROR: unrecognized time zone name: "UTC"



とかなるし。

で、よくよく調べてみたら、

pg_timezone_names ってテーブルの name カラムにあるやつを指定しないといけないらしい。

hoge=> select * from pg_timezone_names where abbrev = 'UTC';
name | abbrev | utc_offset | is_dst
---------------------+--------+------------+--------
Zulu | UTC | 00:00:00 | f
posix/Zulu | UTC | 00:00:00 | f
posix/UTC | UTC | 00:00:00 | f
posix/Etc/Zulu | UTC | 00:00:00 | f
posix/Etc/UTC | UTC | 00:00:00 | f
posix/Etc/Universal | UTC | 00:00:00 | f
posix/Universal | UTC | 00:00:00 | f
Etc/Zulu | UTC | 00:00:00 | f
Etc/UTC | UTC | 00:00:00 | f
Etc/Universal | UTC | 00:00:00 | f
Universal | UTC | 00:00:00 | f
(11 rows)


というわけで、

hoge=> SET time zone 'posix/UTC';
SET



としてやらないといけないんだが、それでもRoRが同じエラーを吐いてくれる。
正直参ったが、これはRoR側の設定を…

というわけで、タイムゾーンに関する設定調べたら

config.active_record.default_timezone

というのがあるらしいので、

config.active_record.default_timezone = 'utc'

としたら動いてくれました。めでたしめでたし。

ふぅ…

いや、てか、そもそもこのRoRのエラーメッセージがおかしいよな!
スポンサーサイト

トラックバックURL
http://noriko3.blog42.fc2.com/tb.php/833-3ad4ded5
トラックバック
コメント
管理者にだけ表示を許可する
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。