このエントリーをはてなブックマークに追加


PostgreSQLが出力するログの言語を英語にする方法

PostgreSQLが出力するログの言語を英語にする設定方法を以下に記します。

本資料で使用した環境

  • OS
    CentOS6(X86_64)
     
  • 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

関連記事

postgresql.confを修正し出力言語を英語にする

postgresql.confファイルのlc_messagesの設定値を変更することによりログ出力されるメッセージが変更されます。
以下のようにすれば英語出力されます。

lc_messages = 'C'

以下にlc_messagesの変更前と変更後を記します。

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)

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)

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 行)

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:08:00