rhanda | 元銀行員Web系エンジニアの日記

実務未経験からWeb系受託開発企業に転職したひよっこエンジニアが覚えたことや日々の感情を残すブログ

rails newをしたらPG::ConnectionBad: could not connect to server: No such file or directoryとエラーが出た

PostgreSQLが起動していないよ」というエラーのようです。 PCの再起動によるものと思われますが、以下の方法で解決できました。 何度も遭遇している割には、復旧手順を毎回調べていると感じたので記録しておきます。



手順

PostgreSQLが出力するログファイルの前まで行く

$ cd /usr/local/var/log

②ファイルの内容を確認

$ cat postgres.log

   ↓↓↓ スクリーンショット 2020-12-27 16.19.25.png lock file "postmaster.pid" already existsとたくさん表示されました。 postmaster.pidファイルが既にあるとのことなので削除しました。

④rmコマンドで当該ファイルを削除

$ rm /usr/local/var/postgres/postmaster.pid

削除後、無事にrails newを実行することができました。



結果

postmaster.pidは、サーバーが複数起動されるのを防止するための仕組みで、サーバーの起動と共に作成され、停止と同時に削除されるようです。 サーバーが正常に停止されないとファイルが残ってしまうことがあり、今回のようなエラーに繋がるという事ですね。