[pgsql-jp: 36489] Re: 日本語でソートがうまくいかない

TANIDA Yutaka tanida @ sraoss.co.jp
2005年 12月 5日 (月) 19:12:34 JST


谷田です。

On Mon, 5 Dec 2005 14:14:19 +0900
高森 <zbn33523 @ pine.zero.ad.jp> wrote:

> 現在Redhat6.2で運用している
> バージョン7.4.6にて
> 日本語の検索とソートについて
> 結果が正しくない問題が発生しています。
> 
> 例:日本語のソート
> INSERT:"あ","い","う","え","お"
> SELECT:"え","い","あ","う","お"
> 
> 過去のアーカバイブから
> PostgreSQL7.4.6をinitdbする際に
> --no-localeを設定しなかったため
> デフォルトの--enable-localeが設定されたことが
> 原因だと判断しました。
> 
> また下記設定が「C」に設定されていないことも確認しました。
> 
> ・SELECT * FROM pg_settings WHERE name like 'lc%';
> ・pg_controldata
>  LC_COLLATE: en_US
>  LC_CTYPE:   en_US
> 
> --------
> 
> 事後の対処としてはinitdbをやり直すことですが、
> 過去に石井さんが代案として提案されている
> 
> export LC_ALL=C
> postmasterを起動
> 全てのインデックスを再作成
> 
> この方法の方が停止時間を
> 短くできるように私には感じます。

このメールの内容はかなり古いので、LC_ALL=Cと設定しても現在では意味があり
ません。同様のことをするとすれば

- postgresql.confのLC_*な項目をすべてCに変更する
- postmasterを起動
- 全てのインデックスを再作成

となります。思いつくところこれで大丈夫だと思いますが、

-- 
TANIDA Yutaka <tanida at sraoss.co.jp>





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