[pgsql-jp: 29140] Re: PostgreSQL7.3.2インストール

Kazumasa Gotoh kgotoh @ cic-kk.co.jp
2003年 2月 19日 (水) 11:30:44 JST


From: "Nakamura Kazusi" <kazzz4 @ hotmail.com>
Date: Wed, 19 Feb 2003 10:18:58 +0900

> なんとかpsql内で日本語を使用できる環境は作れないものでしょうか?
> それともPostgreSQL7.3.2では無理なのでしょうか?

まず、仕掛けと理屈から理解して欲しいのですが、psql では Configure の
環境にもよりますけれども、環境的に readline ライブラリがあればコマンド
ラインインタフェースに readline を使用する形で作られます。

# readline が何であるかは自分で調べて下さい。情報は豊富に存在します。

で、たいていの readline はオリジナルのままなので、そのままでは
日本語が通りません。
これは PostgreSQL の問題ではなくて、readline の問題なのです。
これに対する対処方法としてはいくつかあります。

  1. psql -n として起動する
      こうすると psql が readline を使用せずに fgets() を使用する
      ようになります。
      ただし、readline の機能である行内編集機能やヒストリ機能は
      使えなくなります。また、日本語(2byte 文字)を意識している
      わけではないので、バックスペースなどのカーソル移動では
      1byte づつしか動かない。

  2. .inputrc で設定
       .inputrc で「8bit 文字も通してくれよ」と指定する。

       set convert-meta off
       set meta-flag on
       set output-meta on

      とすればいいのかな。行内編集とヒストリは動きますが、
      カーソルの動きはあい変わらず日本語の事は考えたものにはなりません。

  3. 日本語パッチを当てた readline ライブラリを作り、それを
     使用するように psql を作り直す。

       psql だけ作り直せばいいです。

この話が最初にここで出たのは… 1998年 1月だったかな?
もう 5年も前の話です。その後にも何度も出ているので、もはや FAQ と
言っても良いでしょう。

この ML の過去ログを検索しても簡単にでてきますよ?

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
(株) セントラル情報センター
                             後藤和政    kgotoh @ cic-kk.co.jp



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