これはPostgreSQLバージョン3プロトコルの既知の問題であり、クライアントはプロトコルハンドシェイクの早い段階でサーバーから送信されたエラーメッセージをデコードするためのエンコーディングを認識していません。
バージョン4プロトコルが作成されたときに修正される予定ですが、それはまだ遠い道のりです。
それまでの間、唯一の実際の回避策は、クライアントのデフォルトのエンコーディングがサーバーのエンコーディングと互換性があることを確認することです。これを行う最も簡単な方法は、LC_MESSAGES
を設定することです。 en_US.UTF-8
のようなものに 、おそらくlc_messages
経由 postgresql.conf
のオプション 。