web-dev-qa-db-ja.com

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

私は私のVagrantマシン上でpsqlを実行しようとしています、しかし私はこのエラーを得ます:

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"?

注:Vagrant 1.9.2 Box:ubuntu/trusty64、 https://atlas.hashicorp.com/ubuntu/boxes/trusty64

EDITpostgresをインストールして実行するために使用したコマンド:

  • Sudo apt-get update
  • Sudo apt-get install postgresql
  • Sudo su postgres
  • psql -d postgres -U postgres
57
Saša Kalaba

私はpg_hba.confファイル(/etc/postgresql/9.6/mainにあります)の設定に関連して同じ問題を抱えています。 9.6は私が使っているpostgresqlのバージョンです。

エラー自体はpostgresqlの設定ミスに関連しているため、サーバは起動前にクラッシュします。

私はこれらの指示に従うことをお勧めします:

  1. Sudo service postgresql startを使用して、postgresqlサービスが実行されていることを確認します。
  2. あなたの端末からpg_lsclustersを実行してください。
  3. 実行しているクラスタが何であるかを確認します。出力は次のようになります。

    バージョン - クラスタポートステータスの所有者データディレクトリ

    9.6 ------- main - 5432オンラインのpostgres /var/lib/postgresql/9.6/main

    「---」記号は、位置合わせの目的でのみ使用されているので無視してください。重要な情報はバージョンとクラスタです。ステータス欄でサーバーが稼働しているかどうかを確認することもできます。

  4. バージョンとクラスタから情報をコピーして、like:pg_ctlcluster <version> <cluster> startを使用します。したがって、私の場合は、バージョン9.6とクラスタ 'main'を使用して、それはpg_ctlcluster 9.6 main startになります。
  5. 何かが間違っていると、postgresqlはログを生成します。それは/var/log/postgresql/postgresql-<version>-main.logでアクセスすることができるので、私の場合、完全なコマンドはSudo nano /var/log/postgresql/postgresql-9.6-main.logになります。
  6. 出力にエラーの内容が表示されるはずです。

    2017-07-13 16:53:04 BRT [32176-1] LOG:無効な認証方法「all」
    2017-07-13 16:53:04 BRT [32176-2]CONTEXT:設定ファイル "/etc/postgresql/9.5/main/pg_hba.conf"の90行目
    2017-07-13 16:53:04 BRT [32176-3]致命的:pg_hba.confを読み込めませんでした

  7. エラーを修正し、Sudo service postgresql restartを介してpostgresqlサービスを再起動してください。

私はこれを見つけるためにたくさん検索しました、信用はこれ ポストに行きます

頑張って!

90
malvadao

私は同じ問題を抱えていたが、ここの答えのどれも助けにはならなかった。

どうやって直したか(mac)

  • pg_ctl -D /usr/local/var/postgres startでpostgresqlを起動してみてください
  • FATAL: could not open directory "pg_tblspc": No such file or directoryのようなエラーメッセージを探してください。
  • その見つからないディレクトリを作成しますmkdir /usr/local/var/postgres/pg_tblspc
  • 見つからないディレクトリをすべて作成するまで、手順1から繰り返します。
  • 完了してpostgresqlを再起動しようとすると may say FATAL: lock file "postmaster.pid" already exists
  • postmaster.pidを削除します。rm /usr/local/var/postgres/postmaster.pid
  • pg_ctl -D /usr/local/var/postgres startでpostgresを起動してください。
  • 完了✨
12
martinlasek

/etc/postgresql/9.6/main/postgresql.confはそのポートが割り当てられていることを示していますか?私のデフォルトのXubuntu Linuxインストールでは、私が思い出すことができる限り何らかの理由でport = 5433を示していましたが、同じファイル内でlisten_addresses = 'localhost'という行をコメントアウトし、listen_addresses = '*'行のコメントを外しました。それで多分開始し、そこでチェックしてください。それが役立つことを願っています。

4
J2112O

この質問を見つけたときに行ったように、迷って絶望的に感じている人のためにこれを投稿しただけです。 psotgresql関連の設定ファイルを編集することによって、誤ってファイルのアクセス権を変更することがあるかもしれません。

enter image description here

Pg_hba.confがrootにどのように属しているか、そしてユーザがそれを読むことすらできないことに注意してください。これにより、postgresはこのファイルを開くことができず、したがってサーバを起動することができず、元の質問に見られるエラーを投げます。

実行して

Sudo chmod +r pg_hba.conf

このファイルをもう一度postgresユーザーがアクセスできるようにしてから実行した後にできるようにしました

Sudo service postgresql start

サーバーを再び稼働させることができました。

3
wfgeo

使用コマンド:

rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
2
Gaurav Verma

データベースマネージャを開き、このスクリプトを実行します。

update pg_database set datallowconn = 'true' where datname = 'your_database_name';
1
Nasser Abdou

/etc/hostsファイルの内容を変更したときと同じことが私に起こりました。それを127.0.0.1 localhostに戻した後、それは私のために働きました。

1
coderanger

VMでSQLデータベースを作成したときに同じエラーが発生しました。 /etc/postgresql/9.3/main/postgresql.conf shared_buffers = 200MBのデフォルト値を総RAMの75%に変更しました。まあ、私は実際にそのRAMをVMに割り当てるのを忘れていました。新しいデータベースを作成するコマンドを入力したときに、同じエラーが表示されました。

電源を切って、赤ちゃんにボトル(RAM)を渡してもらいました。

0
CENTURION

私は実行することで問題を解決することができました:

Sudo systemctl start [email protected]
0
Eugene Lem

直接バージョンSudo apt-get install postgresql-9.5を使用してpgsqlを再インストールしてください(u新しいパッケージをインストールする前にパッケージを削除する必要があります)。

0
Vitaly Kholodov

Zsh内:

rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8

これは数え切れないほどの時間のトラブルシューティングの後に私のために働いた唯一のものです。

0
Tucker Watts