web-dev-qa-db-ja.com

サーバーはホスト "localhost"(:: 1)で実行されており、ポート5432でTCP / IP接続を受け入れていますか?

何よりも前に、Stack OverflowやWeb上の記事で似たような質問をいくつか見つけましたが、私の問題を解決する助けにはならなかったことに注意してください。

さて、ここに問題があります:

  • チャームのように機能するRailsアプリがあります。
  • 私のコラボレーターと一緒に、GitHubを使用して連携します。
  • masterブランチとmvpブランチがあります。
  • 最近gitバージョンをHomebrew(Mac)で更新しました。
  • Foremanを使用して、アプリをローカルで起動します。

ここで、アプリをローカルで起動しようとすると、次のエラーが表示されます。

PG::ConnectionBad at /
could not connect to server: Connection refused
    Is the server running on Host "localhost" (::1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on Host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?

コンピューターを数回再起動しようとしました。

/usr/local/var/postgresの内容も確認しました:

PG_VERSION      pg_dynshmem     pg_multixact    pg_snapshots    pg_tblspc       postgresql.conf
base            pg_hba.conf     pg_notify       pg_stat         pg_twophase     postmaster.opts
global          pg_ident.conf   pg_replslot     pg_stat_tmp     pg_xlog         server.log
pg_clog         pg_logical      pg_serial       pg_subtrans     postgresql.auto.conf

ご覧のとおり、postmaster.pidファイルはありません。

これをどのように修正できますか?

38
Thibaud Clement

ほとんどの場合、バッテリーを使い果たし、postgresqlサーバーが正しくシャットダウンしませんでした。

最も簡単な回避策は、公式のpostgresqlアプリをダウンロードして起動することです。サーバーを強制的に起動します( http://postgresapp.com/

33
Graham Slick

postgres -D /usr/local/var/postgresを実行すると、次のように表示されます。

 FATAL:  lock file "postmaster.pid" already exists
 HINT:   Is another postmaster (PID 379) running in data directory "/usr/local/var/postgres"?

次に、HINTでkill -9 PIDを実行します

そして、あなたは行ってもいいはずです。

63
user8376606

ほとんどの場合、システムが予期せずシャットダウンしたためです

試して

postgres -D /usr/local/var/postgres

あなたが見るかもしれません

FATAL:  lock file "postmaster.pid" already exists
HINT:  Is another postmaster (PID 449) running in data directory "/usr/local/var/postgres"?

それから試して

kill -9 PID

kill -9 419

そして、それは通常postgresを起動するはずです

29
Nishant

Postgresqlサービスがダウンしているのと同じくらい簡単かもしれません。実行してみてください:

Sudo service postgresql start

これで問題が解決しました。

12
Shiva89

これは私の場合はうまくいきました:

brew uninstall postgresql
rm -fr /usr/local/var/postgres/
brew install postgresql
10
Tan

これは、予期しないシャットダウンのために、postgress用に作成されたpidファイルが削除されていない可能性があります。これを修正するには、このpidファイルを削除します。

  1. Postgresデータディレクトリを見つけます。 homebrewを使用するMACでは/usr/local/var/postgres/であり、他のシステムでは/usr/var/postgres/である可能性があります

  2. PIDファイルを削除

    rm postmaster.pid

  3. Postgressを再起動します。 Macでは、

    醸造サービスはpostgresqlを再起動します

6
Aman Kumar

このコマンドで問題を解決しました

pg_ctl -D /usr/local/var/postgres start

時々、あなたはこのエラーを受け取るかもしれません

pg_ctl: another server might be running; trying to start server anyway

したがって、次のコマンドを実行してから、上記の最初のコマンドを実行してください。

pg_ctl -D /usr/local/var/postgres stop
3
techdreams

LinuxでPostgresqlを再起動する場合は、次のコマンドを使用する必要があります。

/etc/init.d/postgresql restart

1
coderanger

Postgresql(mac)を実行しているRubyアプリケーションでRailsとほぼ同じエラーが発生しました。これは私のために働いた:

brew services restart postgresql
1
Talha Meh

私はしばしばWindowsでこの問題に遭遇します。問題の解決方法はサービスです-PostgreSQL Database Server 8.3をクリックします-2番目のタブ「ログイン」をクリックします-最初の行「ローカルシステムアカウント」を選択します。

0
管浩浩

これは私のために働いた:実行

Sudo lsof -i :<port_number>

その後、現在プロセスにアタッチされているPIDが表示されます。

その後、Sudo kill -9 <PID>を実行します

それが機能しない場合は、user8376606が提供するソリューションを試してみてください。

0
vonvick

Docker usersの場合:私の場合、過剰なdockerイメージサイズが原因でした。 Pruneコマンドを使用して、未使用のデータを削除できます。

docker system Prune --all --force --volumes

警告:マニュアルに従って(docker system Prune --help):

これにより削除されます:

  • 停止したすべてのコンテナ
  • 少なくとも1つのコンテナで使用されていないすべてのネットワーク
  • すべてのぶら下がり画像
  • すべてのぶら下がりビルドキャッシュ
0

最初に試した

lsof -wni tcp:5432ただし、PID番号は表示されません。

第二に私が試した

Postgres -D/usr/local/var/postgresを実行すると、サーバーがリッスンしていることが示されました。

だから私はちょうどすべてのポートを復元するためにMacを再起動し、それは私のために働いた。

0
Saif chaudhry