NodeのWebフレームワークを触っていたら、db:createの時点で以下のエラーが。
おそらくpostgresが起動していないっぽい?
Error: connect ECONNREFUSEDでググったところ、「mysqlが起動していませんでした」とか「MongoDBが起動していませんでした」みたいな書き込みを多数発見。
というわけで、今回のゴールはPostgresを起動させること。
postgresのディレクトリ確認
whichコマンドで確認。
$ which postgres
すると、/usr/local/bin/postgres だと発覚。
起動の確認
pg_ctlというコマンドでpostgresに関するアレやコレやができるらしい。
pg_ctlに先ほどのディレクトリを与えて、statusを確認します。
$ pg_ctl -D /usr/local/bin/postgres status
pg_ctl: could not open PID file "/usr/local/bin/postgres/postmaster.pid": Not a directory
あれ??
(ここで1時間くらいハマる)
postgresのディレクトリ間違ってた???
なんかね、postgresってbrewでインストールした気がするんですよね。
だから、
$ brew info postgres
をして、情報を出してみたんですよ。
そしたら、「postgresなら/usr/local/var/にいるぜ」とか言われて。
postgresを起動したいなら、
$ postgres -D /usr/local/var/postgres しなさいと。
あれ???whichで確認したディレクトリと違くない???
ということは、間違ったpostgresを参照しちゃってる状態??起動するしない以前の問題じゃない???
ってか間違ったpostgresってなんだよ!いつの間にダブったんだよ!(キレそう)
なにはともあれ起動してみる
なにはともあれ、起動コマンドを打ってみます。
$ postgres -D /usr/local/var/postgres
その結果、
起動したっぽいです。
statusもこのとおり。