Posted at

postgresでEncodingがEUC_JPのデータベースを作る

More than 1 year has passed since last update.

どうも過去に何回もやったことがあるようだが忘れていていつも調べ直しているのでメモ。

postgresのバージョンが上がったからなのかもしれない。

シェルから

createdb -E EUC_JP my_db

というようにやると

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

DETAIL: The chosen LC_CTYPE setting requires encoding "UTF8".

というように怒られる。

なので一旦psqlで入って、

psql

Password:
psql (9.6.3, server 9.4.1)
Type "help" for help.

myname=# CREATE DATABASE "my_db" WITH TEMPLATE="template0" ENCODING='EUC_JP' LC_COLLATE='C' LC_CTYPE='C';

とするといい。

参考:

http://wsjp.blogspot.jp/2012/04/postgresqlinitdbdb.html