[pgsql-jp: 33556] ひらがなのORDER BY

rootbeer @ par.odn.ne.jp rootbeer @ par.odn.ne.jp
2004年 7月 8日 (木) 21:40:02 JST


初めての投稿になります。広岡です。

Redhat 9
Postgresql 7.3.2
を使用しています。

ひらがなを50音順に並べたいと思っていますが、
ORDER BYで指定しても50音順になりません。
initdbでno-localeとencodingは指定してあります。


テーブル名は「test」で以下の構成です。
 Column | Type 
--------+------
 kana   | text 

select * from test;
   kana
----------
 うううう
 いいいい
 ああああ

select * from test order by kana;
   kana
----------
 うううう
 いいいい
 ああああ

となり、五十音順にソートされません。

関係あるかわかりませんが、文字数の短いデータを入れると
select * from test order by kana;
   kana
----------
 おお
 うううう
 いいいい
 ああああ
のように一応並び順は変わります。


ログを検索すると、7.3以降はinitdbでno-localeを指定する
必要があるとの事でしたが、
http://ml.postgresql.jp/pipermail/pgsql-jp/2003-August/014254.html

select * from pg_settings where name like 'lc%' or name like
'%encoding';
      name       | setting
-----------------+---------
 client_encoding | EUC_JP
 lc_messages     | C
 lc_monetary     | C
 lc_numeric      | C
 lc_time         | C
 server_encoding | EUC_JP
(6 rows)

と表示されているので、initdbの際には
$ initdb --encoding=EUC_JP --no-locale
としていると思います。


他に何か見直すべき設定などありますでしょうか?




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