PostgreSQLで日本語で並び替え

PostgreSQLでフリガナなどの日本語でorder byしたときになんか変な並びになる際の対応、原因としては、initdbした際に–no-localeが付いていないとうまく並びかわらないらしい。


1.テーブルをバックアップ(必要な分すべて)
pg_dump TABLE名 > backup.dmp
2.PostgreSQL停止
/etc/init.d/postgresql stop
3.データベースのフォルダ退避
mv $PGDATA/data $PGDATA/data.old
4.データベース再作成
initdb --no-locale
5.パラメータファイル修正
postgresql.conf
pg_hba.conf
6.PostgreSQL開始
/etc/init.d/postgresql start
7.ユーザの作成(必要な分すべて)
createuser hoge
8.DBの作成(必要な分すべて)
createdb (-E EUC_JP,UNICODE) hoge
9.テーブルのリストア(必要な分すべて)
psql TABLE名 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA