LoginSignup
30
26

More than 5 years have passed since last update.

PostgreSQL - タイムゾーンをDBに設定する

Posted at

概要

postgresのタイムゾーンはpostgresql.confに設定するが、9.1以前は固定されていない(コメントアウト)。

#timezone = unknown         # actually, defaults to TZ environment
                    # setting

バージョンアップでデフォルトが変更された時の影響を考えて固定にしておく。
DB毎に個別に設定を行う。

PostgreSQL マニュアル

構文

ALTER DATABASE

ALTER DATABASE name SET configuration_parameter { TO | = } { value | DEFAULT }

SET

SET [ SESSION | LOCAL ] TIME ZONE { timezone | LOCAL | DEFAULT }

TIME ZONE
SET TIME ZONE valueはSET timezone TO valueの別名です。 SET TIME ZONE構文では、時間帯の指定に特殊な構文を使用できます。

設定できるタイムゾーン

pg_timezone_names

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();
30
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
26