概要
postgresのタイムゾーンはpostgresql.confに設定するが、9.1以前は固定されていない(コメントアウト)。
#timezone = unknown # actually, defaults to TZ environment
# setting
バージョンアップでデフォルトが変更された時の影響を考えて固定にしておく。
DB毎に個別に設定を行う。
PostgreSQL マニュアル
構文
ALTER DATABASE name SET configuration_parameter { TO | = } { value | DEFAULT }
SET [ SESSION | LOCAL ] TIME ZONE { timezone | LOCAL | DEFAULT }
TIME ZONE
SET TIME ZONE valueはSET timezone TO valueの別名です。 SET TIME ZONE構文では、時間帯の指定に特殊な構文を使用できます。
設定できるタイムゾーン
pg_timezone_namesは、SET TIMEZONEで認識される時間帯名称の一覧を提供します。
設定の反映
表9.77 サーバシグナル送信関数
|名前|戻り型|説明|
|:--|:--|:--|
|pg_reload_conf()|boolean|サーバプロセスに構成ファイルの再読み込みをさせる|
実行
タイムゾーンの確認
SELECT * FROM pg_timezone_names;
設定
ALTER DATABASE exsampledb SET timezone TO 'Asia/Tokyo';
反映
SELECT pg_reload_conf();