[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 メーリングリストの案内