PostgreSQLが出力するログの言語を英語にする設定方法を以下に記します。
postgresql.confファイルのlc_messagesの設定値を変更することによりログ出力されるメッセージが変更されます。
以下のようにすれば英語出力されます。
lc_messages = 'C'
以下にlc_messagesの変更前と変更後を記します。
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になっています。
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 行)
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 行)