何よりも前に、Stack OverflowやWeb上の記事で似たような質問をいくつか見つけましたが、私の問題を解決する助けにはならなかったことに注意してください。
さて、ここに問題があります:
master
ブランチとmvp
ブランチがあります。git
バージョンをHomebrew(Mac)で更新しました。ここで、アプリをローカルで起動しようとすると、次のエラーが表示されます。
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
ファイルはありません。
これをどのように修正できますか?
ほとんどの場合、バッテリーを使い果たし、postgresqlサーバーが正しくシャットダウンしませんでした。
最も簡単な回避策は、公式のpostgresqlアプリをダウンロードして起動することです。サーバーを強制的に起動します( http://postgresapp.com/ )
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
を実行します
そして、あなたは行ってもいいはずです。
ほとんどの場合、システムが予期せずシャットダウンしたためです
試して
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を起動するはずです
Postgresqlサービスがダウンしているのと同じくらい簡単かもしれません。実行してみてください:
Sudo service postgresql start
これで問題が解決しました。
これは私の場合はうまくいきました:
brew uninstall postgresql
rm -fr /usr/local/var/postgres/
brew install postgresql
これは、予期しないシャットダウンのために、postgress用に作成されたpidファイルが削除されていない可能性があります。これを修正するには、このpidファイルを削除します。
Postgresデータディレクトリを見つけます。 homebrewを使用するMACでは/usr/local/var/postgres/
であり、他のシステムでは/usr/var/postgres/
である可能性があります
PIDファイルを削除
rm postmaster.pid
Postgressを再起動します。 Macでは、
醸造サービスはpostgresqlを再起動します
このコマンドで問題を解決しました
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
LinuxでPostgresqlを再起動する場合は、次のコマンドを使用する必要があります。
/etc/init.d/postgresql restart
Postgresql(mac)を実行しているRubyアプリケーションでRailsとほぼ同じエラーが発生しました。これは私のために働いた:
brew services restart postgresql
私はしばしばWindowsでこの問題に遭遇します。問題の解決方法はサービスです-PostgreSQL Database Server 8.3をクリックします-2番目のタブ「ログイン」をクリックします-最初の行「ローカルシステムアカウント」を選択します。
これは私のために働いた:実行
Sudo lsof -i :<port_number>
その後、現在プロセスにアタッチされているPIDが表示されます。
その後、Sudo kill -9 <PID>
を実行します
それが機能しない場合は、user8376606が提供するソリューションを試してみてください。
Docker usersの場合:私の場合、過剰なdockerイメージサイズが原因でした。 Prune
コマンドを使用して、未使用のデータを削除できます。
docker system Prune --all --force --volumes
警告:マニュアルに従って(docker system Prune --help
):
これにより削除されます:
- 停止したすべてのコンテナ
- 少なくとも1つのコンテナで使用されていないすべてのネットワーク
- すべてのぶら下がり画像
- すべてのぶら下がりビルドキャッシュ
最初に試した
lsof -wni tcp:5432ただし、PID番号は表示されません。
第二に私が試した
Postgres -D/usr/local/var/postgresを実行すると、サーバーがリッスンしていることが示されました。
だから私はちょうどすべてのポートを復元するためにMacを再起動し、それは私のために働いた。