PostgreSQLエラー「/var/lib/pgsql/data is missing」の原因と解決方法

PostgreSQL 8.4.7のインストール後、早速PostgreSQLを起動しようとすると、

/var/lib/pgsql/data is missing

というエラーが出てしまう。

/var/lib/pgsql/dataディレクトリには、postgresql.conf、pg_hba.confなどPostgreSQLの設定に必要な重要なファイルが入っているので、/var/lib/pgsql/dataが存在しないのであればPostgreSQLが起動できない、という理由は納得できる。

《例》/var/lib/pgsql/data is missingというエラーが出る
[root@nobuneko ~]# /etc/rc.d/init.d/postgresql status
postmaster は停止しています
[root@nobuneko ~]# /etc/rc.d/init.d/postgresql start

/var/lib/pgsql/data is missing. Use "service postgresql initdb" to initialize the cluster first.
[失敗]

「クラスタを初期化するために『service postgresql initdb』を実行してくさださい」、という警告メッセージに素直に従ってinitdbを実行すると、無事にPostgreSQLサービスを起動できる。

《例》initdbを実行する
[root@nobuneko ~]# service postgresql initdb
データベースを初期化中: [ OK ]
[root@nobuneko ~]#
[root@nobuneko ~]# /etc/rc.d/init.d/postgresql start
postgresql サービスを開始中: [ OK ]

※initdbを実行することで、/var/lib/pgsql/data配下のディレクトリ、ファイルが作成される。PostgreSQLインストール直後に、PostgreSQLを起動する際に「/var/lib/pgsql/data is missing」というエラーメッセージが出る場合は、このようにinitdbを実行していないことに原因があるので、initdbを実行すればこの問題は解決する。

《注》今回例に挙げたPostgreSQL 8.4.7は、CentOS 6.0で、yumでPostgreSQLをパッケージインストールしたもの。

前へ

Apple iPod touch 8GB White MD057J/Aを購入すべきか迷い中

次へ

PostgreSQLエラー「psql: could not connect to server: ホストへの経路がありません」の原因と解決方法(iptablesの設定)