[pgsql-jp: 40902] Re: PostgreSQL 9.0.4 Windows版(32bit)のログについて

Itagaki Takahiro itagaki.takahiro @ gmail.com
2011年 8月 29日 (月) 12:43:15 JST


2011/8/28 Mane24 <mane24jp @ yahoo.co.jp>:
> 2011-08-28 15:32:45 JST スチEEトメンチE  SELECT
> pg_file_read('pg_log/postgresql-2011-08-28_152907.log', 0, 50000)
> 2011-08-28 15:32:47 JST ERROR:  符号化方弁EUTF8"で無効なバイトシーケンス
> でぁE 0x83
>
> 上記を見ると、起動ログがSJIS で格納されるようなのです。
> これをUTF8 にする方法はないでしょうか?

Postgres のテキストサーバログには、異なる文字エンコードの
ログが混在するという、あまり良くない仕様があります。
既に出力されたログは手作業で修正するしかないですが、
今後出力されるログは、メッセージを英語にしてよいならば、
以下の設定で読み込めるようになると思います。

・postgresql.conf で lc_messages を C に変更して、DB再起動。
・DBをUTF-8に統一する。


ところで、日本語のメッセージが SJIS になってしまうのは、
gettext や libintl がOSのロケールを見に行ってしまうから
でしょうか? 代わりに template1 のエンコーディングでも
見てくれれば良かったんですけどね…

-- 
Itagaki Takahiro


pgsql-jp メーリングリストの案内