私は私の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
私はpg_hba.confファイル(/etc/postgresql/9.6/main
にあります)の設定に関連して同じ問題を抱えています。 9.6は私が使っているpostgresqlのバージョンです。
エラー自体はpostgresqlの設定ミスに関連しているため、サーバは起動前にクラッシュします。
私はこれらの指示に従うことをお勧めします:
Sudo service postgresql start
を使用して、postgresqlサービスが実行されていることを確認します。pg_lsclusters
を実行してください。実行しているクラスタが何であるかを確認します。出力は次のようになります。
バージョン - クラスタポートステータスの所有者データディレクトリ
9.6 ------- main - 5432オンラインのpostgres /var/lib/postgresql/9.6/main
「---」記号は、位置合わせの目的でのみ使用されているので無視してください。重要な情報はバージョンとクラスタです。ステータス欄でサーバーが稼働しているかどうかを確認することもできます。
pg_ctlcluster <version> <cluster> start
を使用します。したがって、私の場合は、バージョン9.6とクラスタ 'main'を使用して、それはpg_ctlcluster 9.6 main start
になります。/var/log/postgresql/postgresql-<version>-main.log
でアクセスすることができるので、私の場合、完全なコマンドはSudo nano /var/log/postgresql/postgresql-9.6-main.log
になります。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を読み込めませんでした
Sudo service postgresql restart
を介してpostgresqlサービスを再起動してください。私はこれを見つけるためにたくさん検索しました、信用はこれ ポストに行きます 。
頑張って!
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
FATAL: lock file "postmaster.pid" already exists
rm /usr/local/var/postgres/postmaster.pid
pg_ctl -D /usr/local/var/postgres start
でpostgresを起動してください。/etc/postgresql/9.6/main/postgresql.conf
はそのポートが割り当てられていることを示していますか?私のデフォルトのXubuntu Linuxインストールでは、私が思い出すことができる限り何らかの理由でport = 5433を示していましたが、同じファイル内でlisten_addresses = 'localhost'
という行をコメントアウトし、listen_addresses = '*'
行のコメントを外しました。それで多分開始し、そこでチェックしてください。それが役立つことを願っています。
この質問を見つけたときに行ったように、迷って絶望的に感じている人のためにこれを投稿しただけです。 psotgresql関連の設定ファイルを編集することによって、誤ってファイルのアクセス権を変更することがあるかもしれません。
Pg_hba.confがrootにどのように属しているか、そしてユーザがそれを読むことすらできないことに注意してください。これにより、postgresはこのファイルを開くことができず、したがってサーバを起動することができず、元の質問に見られるエラーを投げます。
実行して
Sudo chmod +r pg_hba.conf
このファイルをもう一度postgresユーザーがアクセスできるようにしてから実行した後にできるようにしました
Sudo service postgresql start
サーバーを再び稼働させることができました。
使用コマンド:
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
データベースマネージャを開き、このスクリプトを実行します。
update pg_database set datallowconn = 'true' where datname = 'your_database_name';
/etc/hosts
ファイルの内容を変更したときと同じことが私に起こりました。それを127.0.0.1 localhost
に戻した後、それは私のために働きました。
VMでSQLデータベースを作成したときに同じエラーが発生しました。 /etc/postgresql/9.3/main/postgresql.conf shared_buffers = 200MB
のデフォルト値を総RAMの75%に変更しました。まあ、私は実際にそのRAMをVMに割り当てるのを忘れていました。新しいデータベースを作成するコマンドを入力したときに、同じエラーが表示されました。
電源を切って、赤ちゃんにボトル(RAM)を渡してもらいました。
私は実行することで問題を解決することができました:
Sudo systemctl start [email protected]
直接バージョンSudo apt-get install postgresql-9.5を使用してpgsqlを再インストールしてください(u新しいパッケージをインストールする前にパッケージを削除する必要があります)。
Zsh内:
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
これは数え切れないほどの時間のトラブルシューティングの後に私のために働いた唯一のものです。