#navi(../)
* PostgreSQLが出力するログの言語を英語にする方法 [#v53e7429]
PostgreSQLが出力するログの言語を英語にする設定方法を以下に記します。
#contents
#htmlinsertpcsp(db-top.html,db-sp.html)
* 本資料で使用した環境 [#k7403cdf]
- OS~
CentOS6(X86_64)
#br
- PostgreSQL(CentOSのRPMパッケージを使用)~
PostgreSQL 8.4.13 on x86_64-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4), 64-bit
* 関連記事 [#gcfe3579]
-[[PostgreSQLでSQLステートメントをログファイルに出力する方法>PostgreSQL/PostgreSQLでSQLステートメントをログファイルに出力する方法]]
* postgresql.confを修正し出力言語を英語にする [#q5663224]
postgresql.confファイルの''lc_messages''の設定値を変更することによりログ出力されるメッセージが変更されます。~
以下のようにすれば英語出力されます。
lc_messages = 'C'
以下にlc_messagesの変更前と変更後を記します。
** lc_messagesの確認 [#i48fd2be]
CentOS6のPostgreSQL RPMパッケージを入れ初回起動で初期化したときに作成されたpostgresql.confです。~
OSのロケールが日本語なので、lc_messagesがja_JP.UTF-8となっているようです。~
以下、postgresql.confの抜粋えです。
# These settings are initialized by initdb, but they can be changed.
lc_messages = 'ja_JP.UTF-8' # locale for system error message
** lc_messages変更前(ja_JP.UTF-8) [#uff1d5bd]
lc_messages変更前の値は上述の通り、ja_JP.UTF-8になっています。~
PostgreSQLのログ出力を確認すると以下のように日本語メッセージとなっています。
-bash-4.1$ cat postgresql-Tue.log
LOG: データベースシステムは2013-01-29 00:10:37 JSTにシャットダウンしました
LOG: データベースシステムの接続受付準備が整いました。
LOG: 自動バキュームランチャプロセス
ls_messagesをpsqlに確認してみるとja_JP.UTF-8となっています。
postgres=# show lc_messages;
lc_messages
-------------
ja_JP.UTF-8
(1 行)
** lc_messages変更後(C) [#q3362e93]
postgresql.confの lc_messagesを以下にように変更し(当方の環境では、ja_JP.UTF-8からCに変更)~
PostgreSQLを起動・停止しログファイルの内容を確認してみます。
-bash-4.1$ cat postgresql-Tue.log
LOG: database system was shut down at 2013-01-29 00:16:49 JST
LOG: database system is ready to accept connections
LOG: autovacuum launcher started
LOG: received fast shutdown request
LOG: aborting any active transactions
LOG: autovacuum launcher shutting down
LOG: shutting down
LOG: database system is shut down
lc_messagesを変更することにおり、メッセージが英語になっていることが確認できます。
ls_messagesをpsqlに確認してみるとCとなっています。
postgres=# show lc_messages;
lc_messages
-------------
C
(1 行)
#htmlinsertpcsp(db-btm.html,db-sp.html)