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

Mane24 mane24jp @ yahoo.co.jp
2011年 8月 29日 (月) 14:37:39 JST


(2011/08/29 12:43), Itagaki Takahiro wrote:

Itagaki Takahiro 様
ご回答ありがとう御座います。

> 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に統一する。
>

上記ですが、ログとしては日本語で見たいです。
現状、混在していても見る分には特にエディタ等で見るので問題ない
のですが、pgAdminⅢ での「サーバー状態」の画面で、メセージボッ
クスが何度も出てしまい、使えない状態になってしまうことです。

上記、対処として、こちらでは、ログをCSV出力し、テキストログの
出力をやめ pgAdminⅢ ではログを見ないようにすることで回避して
います。

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

なるほど。そうですね。
後、PostgreSQL 9.0.4 Windows版(64bit) では、この現象が
出ないと聞いたのですが本当なのでしょうか?



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