Ubuntu12.04LTSのPostgreSQLでEUC_JPのデータベースを作る

まず、Ubuntu12.04LTSにPostgreSQLを導入する。

メタパッケージpostgresqlを入れれば、postgresql-9.1とかが入ってくるので簡単。そのあと、昔と同じ手順で、EUC_JPのデータベースを作ろうとしたら失敗した。こんな感じ。

createdb -T template0 -E EUC_JP dbname

createdb: database creation failed: ERROR:  encoding EUC_JP does not match locale en_US.UTF-8

DETAIL:  The chosen LC_CTYPE setting requires encoding UTF8. 

 
軽くググると、initdbしなおすのだ、とか面倒そうなことが書いてあって、それは面倒だ。さてどうしたものか、とTwitterにつぶやいたところ @PostgreSQL_JP 様からアドバイスを頂けました。ありがたいことです。本当に助かりました。

結論から書くと、以下のようにすれば良い様子。

createdb -T template0 -E EUC_JP –locale=C dbname

昔(PostgreSQL7とか8の前半)と現在では、色々変わっていることも多そうなので、ちゃんと勉強し直した方がよいかもしれません。

「徹底入門」も第3版になって9.0対応になっているみたい(たしか初版は持っている)。

コメントを残す

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