Postgresqlをインストールしてから、RailsアプリをローカルMac OSX Mountain Lionで実行し、データベースなどを作成しました。このエラー:
簡単なグーグルが this 投稿を示しました。より多くのブラウジングは、ある種のpostmaster.pidファイルが存在する可能性があり、それがこの根本原因である可能性があることを指摘しました。私がそれを削除すれば大丈夫だろう。
しかし、コンピューター上のものを削除する前に、Imがより多くの問題を引き起こさない体系的な方法でデバッグしていることを確認したかったのです。
ファイルを削除する前にそれを読んだどこかで、このコマンドを実行する必要があります。
ps auxw | grep post
結果が得られない場合は、ファイルを削除しても問題ありません。そうでない場合。さて、私はそのコマンドのこの結果を得ました:
AM 476 0.0 0.0 2423356 184 s000 R+ 9:28pm 0:00.00 grep post
ですから、もちろん今は完全に混乱しています。
だから私は何をすべきですか?
Postgresサーバーエラーログの一部を次に示します。
FATAL: lock file "postmaster.pid" already exists
HINT: Is another postmaster (PID 171) running in data directory "/usr/local/var/postgres"?
Postgresqlはまだ実行されておらず、同じエラーが引き続き発生し、何も変更されていません。 SOをチェックせずに物事を削除するにはあまりにも鶏です。
あなたの専門家の何人かが初心者を導くことができますか?.
ありがとう
現在、データベースが動作しています。
私が行ったステップは次のとおりです。
cd /
を実行しましたls -la
をしましたMackintoshHD/usr/local/var/postgres
に到達できることを確認したls -la
cp postmaster.pid ~/Desktop
を実行しました。ファイルを削除する場合は、これを実行します。何かが間違っている場合、私はそれを戻すことができますrm -r postmaster.pid
助けてくれた@Craig Ringerに感謝
今日、Mac Sierraでも同じ問題が発生しました。 Mac Sierraでは、postmaster.pid
の中に/Users/<user_name>/Library/Application Support/Postgres/var-9.6
があります。 postmaster.pid
を削除すると、問題は修正されます。
これは、データベースが正しくシャットダウンされなかった場合に発生する可能性があります。
修正するには、postmaster.pidファイルを削除します。
rm /usr/local/var/postgres/postmaster.pid
または、バックアップします。
mv /usr/local/var/postgres/postmaster.pid /usr/local/var/postgres/postmaster.pid.backup
私はPostgres.appを使用していますが、以下が私のために働きました:
以下の端末にコマンドを入力し、「ジャスティン」を使用せずに事前にPostgresフォルダーを見つけました。
$declare -x PGDATA="/Users/justin/Library/Application Support/Postgres/var-9.4"
$pg_ctl restart -m immediate
ジャスティンが彼の投稿で説明しているように、この後の出力は次のとおりです。
サーバーがシャットダウンするのを待っている…………………………………………………………失敗したpg_ctl:サーバーはシャットダウンしません
コマンドを再度入力した後:
$pg_ctl restart -m immediate
それはうまくいき、私はこのメッセージを受け取りました:
pg_ctl:古いサーバープロセス(PID:373)は、とにかくサーバーを起動しなくなったようですLOGを起動しているサーバー:データベースシステムが中断されました。最後に2015-07-28 18:15:26に確認されたPDTログ:データベースシステムが適切にシャットダウンされませんでした。自動リカバリが進行中LOG:0/4F0F7A8で長さゼロのレコードLOG:REDOは不要LOG:データベースシステムは接続を受け入れる準備ができているLOG:autovacuumランチャーが開始された