LoginSignup
3
2

brew services start postgresql@14でのErrorの解決法

Last updated at Posted at 2023-06-06

問題の背景

macOS上でHomebrewを使用し、PostgreSQLを管理しておりましたが、ある時、通常通りPostgreSQLサービスを起動しようとしたところ、エラーメッセージが出力されました。

以後寄稿した、以下記事と解決のプロセスや問題の原因は同様ですが、同じ記事にまとめるのが困難だった為、別々の記事にまとめさせて頂いております。
brew services listでのpostgresql@14 256 errorの解決法

問題の確認

以下のコマンドでPostgreSQLサービスを起動しようとしました。

brew services start postgresql@14

しかし、以下のエラーメッセージが出力されました。

Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/user/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist` exited with 5.

問題の特定

エラーメッセージから、plistファイル(/Users/user/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist)で定義されたサービスの起動時に何らかの問題が発生したことが示唆されています。

このエラーメッセージは通常、PostgreSQLのプロセスがすでに実行中である、または古いプロセスがまだシャットダウンされていない場合に発生するようです。

解決方法

以下のステップを通じて、この問題を解決しました。

1. 実行中のPostgreSQLのプロセスを確認

ps aux | grep postgres

これにより、すでに実行中のPostgreSQLのプロセスの存在を確認できます。

2. 確認されたPostgreSQLのプロセスを全て停止

pkill -f postgres

このコマンドで実行中のすべてのPostgreSQLのプロセスを強制終了させることができます。

3. PostgreSQLが正常に停止したか確認する為に再度プロセスの確認

ps aux | grep postgres

停止に成功していれば、このコマンドでPostgreSQLのプロセスは表示されません。

4. postmaster.pid ファイルが存在する場合、それを削除

rm /usr/local/var/postgresql@14/postmaster.pid

postmaster.pidはPostgreSQLが実行中であることを示すファイルで、通常はPostgreSQLの正常な終了時に自動的に削除されます。
しかし、何らかの理由でPostgreSQL

が正常に終了しなかった場合、このファイルが残ってしまうことがあります。このファイルが存在すると、PostgreSQLはすでに実行中であると判断して新たに起動できない為、削除する必要があります。

5. 最後に、再度PostgreSQLのサービスを起動

brew services start postgresql@14

以上の手順を実行することで、PostgreSQLのサービスを正常に起動することができました

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2