Pictnotes メインイメージ

お仕事メモ

RPM(yum)でinitdbをするときの注意点 CentOS6.x

PostgreSQLをインストールするときに、コミュニティーのリポジトリを登録してから
インストールするのですが、その時の注意点



コミュニティのリポジトリを使う初期の導入については、
http://lets.postgresql.jp/documents/tutorial/yum/
を参考にしてください。

ここでは、上記の導入を終了していざ、initdb を行う時の注意点として、
9.1 以上から、引数で、localeを指定出来る様になったので、

service postgresql-9.2 initdb C
といったかたちで、ロケールを C (なぜCなのかは、適当にググってください)
としておくと、環境変数の $LANG あたりに影響されずに幸せになります。

あと、一緒に default の encoding を設定したいのですが、これは引数では対応してないので
(対応自体は難しくなさそうでしたが)基本一回しかinitdbしないので、

$SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident' $LOCALESTRING" >> "$PGLOG" 2>&1 < /dev/null
の行に
$SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --encoding=UTF8 --auth='ident' $LOCALESTRING" >> "$PGLOG" 2>&1 < /dev/null
と「--encoding=UTF8」あたりを直接書き込んでしまいます。


ここは、createdb するときにencodingを指定してあげれば回避もできるのですが、初期設定文字コード
とDBで利用したい文字コードが違うとtemplate0が使えなり、都度都度、template1等を指定してあげる
必要があるので、最初に合わせておきます。

以上の2点を忘れずに設定しておくこと。俺。

PostgreSQL   2013/07/03   admin