web-dev-qa-db-ja.com

"psql:サーバーに接続できませんでした:そのようなファイルまたはディレクトリはありません"

実際、私はPostgreSQL 9.4(postGIS拡張付き)をインストールしましたが、インストールすると、すべて正常に機能していました。

多くのtutで述べたように、/ dataフォルダーの設定、構成ファイルの確認などを行いました。他のプロジェクトで作業していたため、しばらくpsqlで作業しませんでしたが、インストールが完了すると、以前は正しく機能していました。テストデータベースを作成し、postgresユーザーを初期化しました。

今、私は(デフォルトのpostgresユーザーで)psqlを起動しようとしましたが、接続できません!サービスの開始/停止/再開は何も変更しません...

「psql」コマンドの結果(postgresユーザーを使用):

psql: could not connect to server: No such file or directory
Is the server  running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

サービスのステータスを確認すると、次のようになります。

postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled)
Active: active (exited) since tue 2016-05-24 09:24:13 CEST; 3s ago
Process: 5658 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 5658 (code=exited, status=0/SUCCESS)

コマンドによるサービスの開始/停止/再開

Sudo service postgresql start (or restart or stop)

実際のシステム動作に何も変更しません。

ログは言う:

DETAIL:  Permissions should be u=rwx (0700).
FATAL:  data directory "/var/lib/postgresql/9.4/main" has group or world access
6
Julo0sS

Debianシステムでは、postgresqlのファイルとディレクトリは、グループpostgresのユーザーpostgresが所有し、0700(ディレクトリ)または0600(ファイル)。

そうでない場合は、次の方法で権限と所有権を修復できます。

Sudo chown -R postgres:postgres /var/lib/postgresql/9.4/
Sudo chmod -R u=rwX,go= /var/lib/postgresql/9.4/

Xコマンドの大文字のchmodに注意してください。小文字のxとは異なり、ディレクトリとファイルに実行ビットonlyが設定されます既に実行可能ファイル(pgディレクトリにあるものはありません)。

その後、postgresqlサービスを再起動します。

10
cas

権限/所有権を誤って変更した後、この問題が発生しました。次のコマンドを発行することで、元に戻すことができました。

Sudo chown -R postgres:postgres /var/lib/postgresql/11/
Sudo chmod -R u=rwX,go= /var/lib/postgresql/11/

そしてサービスをリロードします

Sudo service postgresql restart
1
Eugene Lem

Postgresサーバーが稼働していることが確かな場合は、ホストをlocalhostとして指定してログインを試みます。自分でpsqlと言うと、ソケットを使用して接続しようとしています。

Postgresをアップグレードし、古いサーバーに引き続きアクセスしたいときに、この問題が発生しました。新しいpsqlが混乱しました。

試してください:

psql -U username -h localhost
1
Jude