MacOSX(Mountain Lion)+ Postgres.app エンコード「EUC_JP」のDBが作成できない
MountainLion には標準で postgresが入っているのですが、使うには設定や起動スクリプトやらで面倒そうなので「postgres.app」をインストール
ダウンロードしたら /Applications などに移動して起動するだけで使えます。

そのままだと標準で入っているpostgresコマンドが優先されるので、パスを追加しておいた方が便利です。
vi ~/.bash_profile
---(下記を追加)---------------------------
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
export PATH
------------------------------
早速DBを作ろうとするが、エンコーディングに「EUC_JP」を指定すると、エラーが発生してDB作成できない。
createdb -E EUC_JP -T template0 testdb
------------------------------
createdb: database creation failed: ERROR: encoding EUC_JP does not match locale ja_JP
DETAIL: The chosen LC_CTYPE setting requires encoding UTF8.
------------------------------
postgres8.4.x 頃までは、「-T」オプションでテンプレートを指定すればOKだったが、postgres.app(バージョン9.1.4)ではさらに「-l」オプションでロケールを「C」に指定する必要がある。
createdb -E EUC_JP -T template0 -l C testdb
psql -l
------------------------------
(略)
testdb | admin | EUC_JP | C | C |
------------------------------
無事にエンコーディング「EUC_JP」のDBが作成できました。(^^)/
ダウンロードしたら /Applications などに移動して起動するだけで使えます。

そのままだと標準で入っているpostgresコマンドが優先されるので、パスを追加しておいた方が便利です。
vi ~/.bash_profile
---(下記を追加)---------------------------
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
export PATH
------------------------------
早速DBを作ろうとするが、エンコーディングに「EUC_JP」を指定すると、エラーが発生してDB作成できない。
createdb -E EUC_JP -T template0 testdb
------------------------------
createdb: database creation failed: ERROR: encoding EUC_JP does not match locale ja_JP
DETAIL: The chosen LC_CTYPE setting requires encoding UTF8.
------------------------------
postgres8.4.x 頃までは、「-T」オプションでテンプレートを指定すればOKだったが、postgres.app(バージョン9.1.4)ではさらに「-l」オプションでロケールを「C」に指定する必要がある。
createdb -E EUC_JP -T template0 -l C testdb
psql -l
------------------------------
(略)
testdb | admin | EUC_JP | C | C |
------------------------------
無事にエンコーディング「EUC_JP」のDBが作成できました。(^^)/
02
| h o m e |