サーバーで実行されていたPostgreSQL dbがあります。 db_dump
と奇妙なエラーメッセージが表示されました。最終的には、PostgreSQLを再起動するだけだと思いました。ただし、現在は停止しており、再起動しません。
エラー:/var/lib/postgresql/9.3/mainにアクセスできないか、存在しません
実行しようとすると、上記のエラーが発生します。
Sudo service postgresql start
誰かが私にいくつかの手がかりをください?
Ubuntu 14.04のPostgreSQL 9.3で実行しています
データベース(クラスター)に問題があると思われる場合は、続行する前にデータベースディレクトリのコピーを作成してください。念のために。 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がデフォルトのデータディレクトリで起動しようとしたが、そこにないか、権限が変更されていることを示しています。チェックしましたか?
または、デフォルト以外のインストールを実行していますか?