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