1. ホーム
  2. macos

[解決済み] Mac OSXでPostgres DBが起動しない: ERROR says: Unixドメインソケットの接続は[closed]です。

2022-12-15 09:08:54

質問

私はPostgresqlをインストールし、ローカルのMac OSX Mountain Lion上でたくさんのrailsアプリを実行し、データベースなどを作成しました。今日、しばらくしてpgAdminIIIを起動し、データベースサーバを起動しようとしたところ、このエラーが発生しました。

ググってみると この という投稿がありました。さらに調べていくと、postmaster.pid ファイルが残っていて、それが根本的な原因かもしれないということがわかりました。もし私がそれを削除すれば、物事はうまくいくでしょう。

しかし、自分のコンピューター上のものを削除する前に、これ以上の問題を引き起こさないような体系的な方法でこれをデバッグしていることを確認したいと思いました。

どこかで、そのファイルを削除する前に、このコマンドを実行する必要があることを読みました。

  ps auxw | grep post

もし結果が出なければ、そのファイルを削除してOKです。そうでない場合は、削除してもかまいません。さて、そのコマンドの結果はこのようになりました。

  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を確認せずに物を削除するには、あまりにも臆病です。

何人かの専門家は、無能な者を導いてください。

ありがとうございます。

どのように解決するのですか?

データベースが動作するようになりました。

以下は私が行った手順です。

  1. コンピュータを再起動しました。
  2. ターミナルを開いて、以下を実行しました。 cd /
  3. それから、私は ls -la
  4. を確保し MackintoshHD/usr/local/var/postgres
  5. それから ls -la
  6. ここで、postmaster.pid ファイルを見ました。
  7. 私はこのコマンドを実行しました cp postmaster.pid ~/Desktop を実行し、ファイルをデスクトップにコピーしました。 ファイルをデスクトップにコピーしました。私はファイルを削除するときにこれを実行したいのです。もし 元に戻すことができます。
  8. それから、私は次のコマンドを実行して、postgres ディレクトリからファイルを削除しました。 ディレクトリからファイルを削除します。 rm -r postmaster.pid
  9. pgadmin3 の GUI にアクセスして起動すると、見事に動きました :)

Craig Ringer 氏の助力に感謝します。