Postgres サービスがエラーなしで稼働している場合、または Postgres サービスの開始時にエラーが発生していないにもかかわらず前述のエラーが発生する場合は、次の手順に従ってください
ステップ 1:05
の実行 デバイスで実行されているすべての postgres クラスターが一覧表示されます
例:
Ver Cluster Port Status Owner Data directory Log file
9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
ほとんどの場合、ステータスはダウンになります。 Postgres クラスターとサービスを再起動してみてください
ステップ 2:pg_ctlcluster を再起動する
#format is pg_ctlcluster <version> <cluster> <action>
sudo pg_ctlcluster 9.6 main start
#restart postgresql service
sudo service postgresql restart
ステップ 3:ステップ 2 が失敗し、エラーが発生しました
このプロセスが成功しない場合、エラーがスローされます。 )
FATAL: could not access private key file "/etc/ssl/private/ssl-cert-snakeoil.key": Permission denied
Try adding `postgres` user to the group `ssl-cert`
ステップ 4:postgres の所有権を確認する
22
であることを確認してください 30
の所有者です 例:47
ステップ 5:Postgres ユーザーが ssl-cert ユーザー グループに属していることを確認する
それは私に起こり、「ssl-cert」グループから Postgres ユーザーを誤って削除したことが判明しました。以下のコードを実行して、ユーザー グループの問題を修正し、権限を修正します
#set user to group back with
sudo gpasswd -a postgres ssl-cert
# Fixed ownership and mode
sudo chown root:ssl-cert /etc/ssl/private/ssl-cert-snakeoil.key
sudo chmod 740 /etc/ssl/private/ssl-cert-snakeoil.key
sudo service postgresql restart
複数の PostgreSQL バージョンがインストールされている可能性があります。もしそうなら、他のバージョンのデフォルトはおそらく 52
です しかし 67
あなたの 79
おそらくデフォルトで 82
にリンクされています .
試す
psql -h /tmp
それが機能する場合、上記が問題です。 98
を追加できます あなたの 101
に ユーザーのデフォルトをローカルで変更します。
そうでない場合 PostgreSQL が実際に動作していることを確認してください
ps aux |grep postgres
そうでない場合は、開始します。どのようにインストールしたかによって異なりますが、119
経由になります。 または 120
パッケージを使用してインストールした場合のコマンド
<ブロック引用>
psql:サーバーに接続できませんでした:そのようなファイルやディレクトリはありませんサーバーはローカルで実行されており、Unix ドメイン ソケットで接続を受け入れていますか?"/var/run/postgresql/.s.PGSQL.5432"?
このエラーは通常、サーバーが実行されていないことを意味します。 135
に基づく 出力とコメントのスレッドは、142
によるものでした メインパッケージが何らかの形でアンインストールされています。 152
でアンインストールが呼び出されていないため 161
へのオプション 、データと構成ファイルはまだそこにあるので、 174
問題を解決できます。