まず、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対応になっているみたい(たしか初版は持っている)。