PostgreSQLのエラー「initdb: cannot be run as root」の原因と解決方法

Solaris等でinitdbを実行しようとすると、「initdb: cannot be run as root」というエラーメッセージが表示され、initdbを実行できないことがある。

-bash-3.00# /usr/local/postgresql8/bin/initdb --encoding=EUC_JP --no-locale -D /usr/local/postgresql8/data
initdb: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will own the server process.

エラーメッセージを読むと、initdbはrootユーザで実行してはいけないことが分かる。

このエラーを解決するには、rootユーザ以外でinitdbを実行してやればよい。

たとえば、su - postgresでpostgresユーザになってから、initdbを実行すればよい。

-bash-3.00# su - postgres
$ /usr/local/postgresql8/bin/initdb --encoding=EUC_JP --no-locale -D /usr/local/postgresql8/data

前へ

GDライブラリがダウンロードできない! ・・・GDライブラリの提供元(www.libgd.org)サイトが早く復活してほしい

次へ

PostgreSQL 8.3でEUC_JPのデータベースが作成できない時の原因と解決方法