![このエントリーをはてなブックマークに追加](http://b.st-hatena.com/images/entry-button/button-only@2x.png)
@j3tm0t0 さんのRDS(MySQL)でJSTを使う たった1つの冴えたやり方という記事があったので、「PostgreSQLも!」ということで、RDS for PostgreSQLでJSTを使う方法をブログにまとめようと思います。
このように書くと、RDS使うから特別なことが必要のように見えますが、普段PostgreSQLを使っている場合と同じ設定でOKです。
ただし、RDSを使用する場合、直接postgresql.conf(パラメータ設定ファイル)を編集できないので、DB Parameter Groupsを使用します。
1. RDS for PostgreSQLのデフォルト設定
Amazon RDS for PostgreSQLのシステム標準設定タイムゾーンはUTCです。デフォルト設定のままPostgreSQLを立ち上げると下記のように表示されます。
$ date 2014年 6月13日 金曜日 13時32分42秒 JST $ psql -h postgres.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com -U postgres -c "SELECT CURRENT_TIMESTAMP" Password for user postgres: now ------------------------------- 2014-06-13 04:32:50.531748+00 (1 row)
2. JSTを使うには
2-1. DB Parameter Groupsによる設定
RDSでは、DB Parameter Groupsを使用することで、パラメータの設定が可能です。![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhTPbp9JuW4HIDUdemwBuW1HfZZRZU4p7bhVVj7cje7JfNQk_gU-D2ZJJA0G-6fVq5HZhqX_ylLSHI4S7hbuz8igJrC3C4We2DFPSs2y_Wyb3jqxZPOKmIGgb0XxK1CoJSuhze1QqOz9Mz/s320/2014-06-13+11.23.40_RDS.png)
PostgreSQL用のDB Parameter Groupsを作成し、設定項目中のTimezoneを「UTC」から、「Asia/Tokyo」と変更することで、JSTを使用できます。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBLnWd7Vj9hRXrQEHrLoQSOHvxYcVionNWnagk5hUbNsz239yWevA_iRs5Thpd_9q6rwJQwgb4mvSvrN5yg0ux_zApiJvZhyphenhyphenljCNxa5y4xcBL3VTsiA7sDVF8u9Hsk9zMEizyQGrJOQqOy/s400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-13+11.49.16.png)
2-2. RDS起動時にDB Parameter Groupsを割当
DB Parameter Groupsを作成したら、あとは起動時にそれを選ぶだけです。(Rebootが必要ですが、起動中のRDSでもDB Parameter Groupsの変更が可能です。)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMygAkYN5fQmi09gUz5ub2KbojTvenR4fvvk9uVI0-f5Jz2e4pXBHBni-9yEaNjornVOQZE4OWeofLGlo4DDHl2IxbEDxrExq8m1d1XdSCTEzZI0Ur9TmRyMWWuOOlec9PjTGF24SaXtXr/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-13+13.06.38.png)
この設定を行ったRDSで試すと、下記のようにJSTで現在時刻が取得できますよー。
$ date 2014年 6月13日 金曜日 13時55分19秒 JST $ psql -h postgres.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com -U postgres -c "SELECT CURRENT_TIMESTAMP" Password for user postgres: now ------------------------------- 2014-06-13 13:55:25.306856+09 (1 row)
以上!
Tweet
![このエントリーをはてなブックマークに追加](http://b.st-hatena.com/images/entry-button/button-only@2x.png)
0 件のコメント:
コメントを投稿