web-dev-qa-db-ja.com

エラー:/var/lib/postgresql/9.3/mainにアクセスできないか、存在しません

サーバーで実行されていたPostgreSQL dbがあります。 db_dumpと奇妙なエラーメッセージが表示されました。最終的には、PostgreSQLを再起動するだけだと思いました。ただし、現在は停止しており、再起動しません。

エラー:/var/lib/postgresql/9.3/mainにアクセスできないか、存在しません

実行しようとすると、上記のエラーが発生します。

Sudo service postgresql start

誰かが私にいくつかの手がかりをください?

Ubuntu 14.04のPostgreSQL 9.3で実行しています

1
Bernard

データベース(クラスター)に問題があると思われる場合は、続行する前にデータベースディレクトリのコピーを作成してください。念のために。 Ubuntuでは、デフォルトのディレクトリは次のようになります:/var/lib/postgresql/9.3/main/-ただし、インストールは異なる場合があります。

serviceコマンドは適切な特権で(システムユーザーpostgresとして)postgresサーバープロセスを開始するため、実際には、コマンドは機能します(デフォルトのUbuntuインストール)。

Sudo service postgresql start

次のようなものに翻訳します。

Sudo -u postgres /usr/lib/postgresql/9.3/bin/pg_ctl -D /var/lib/postgresql/9.3/main/ -o "-c config_file=/etc/postgresql/9.3/main/postgresql.conf" start

これで、すべてのdbクラスターが開始される可能性があります。特定のものを開始するには、ラッパー pg_ctlcluster

Sudo -u postgres pg_ctlcluster 9.3 main start

現在インストールされているすべてのDBクラスターのステータスを取得するには、 pg_lsclusters

Sudo -u postgres pg_lsclusters

データディレクトリは、デフォルトのDebianまたはUbuntu Postgresインストールのconfigディレクトリと同じではないことに注意してください。 Postgres 9.3の場合:

データディレクトリ:/var/lib/postgresql/9.3/main/
構成ディレクトリ:/etc/postgresql/9.3/main/

/etc/postgresql/9.3/main/postgrsql.conf実際のデータディレクトリ。で始まる行です

data_directory = 

エラーメッセージは、Postgresがデフォルトのデータディレクトリで起動しようとしたが、そこにないか、権限が変更されていることを示しています。チェックしましたか?

または、デフォルト以外のインストールを実行していますか?

2