Heroku
PostgreSQL

heroku pg:psqlでsh: psql: command not foundと言われたけれど、ローカルにPostgreSQLを入れたら直りました。

More than 3 years have passed since last update.

HerokuのPostgreSQLの中味を見たいと思いHerokuのコマンドを試していたもののうまくいきませんでした。環境はMacです。


psqlコマンドが無いと言われる

本来は以下のコマンドで、HerokuのPostgreSQLにログインできるそうです。


HerokuのPostgreSQLを見る

heroku pg:psql


しかし、ボクの環境で試すとpsqlコマンドが無いと言われます。


psqlコマンドがないと言われる

heroku pg:psql --app pugiemonn

---> Connecting to DATABASE_URL
sh: psql: command not found

いろいろ試しましたが、よくわかりませんでした。


psqlをインストール

ここでローカルにpsqlがあるかを調べてみました。


psqlがあるか調べる

which psql


すると何も出力されません。

そこで、こちら http://qiita.com/tstomoki/items/0f1a930bd42a8e1fdaac の手順からpsqlをbrewを使用してMacにインストールしました。


HerokuのPostgreSQLにログイン

再度HerokuのPostgreSQLにアクセスできるかを試しました。


HerokuのPostgreSQLへログイン

 heroku pg:psql --app pugiemonn

---> Connecting to DATABASE_URL
psql (9.4.0, server 9.4.1)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

なんとHerokuのPostgreSQLにログインできました。


仕組みがわからない

なんとか目的は達成したものの、よくわかりません(☝ ՞ਊ ՞)

HerokuにあるんだからHeroku上にPostgreSQLがあればいい気がします。なぜローカルにインストールすると上手く行ったのでしょうか:(;゙゚'ω゚'):


追記:ローカルのpsqlが必要な理由

@shuhei さんからコメントをいただきました。

なるほどそういうことだったのか(☝ ՞ਊ ՞)


おまけ

psqlのコマンドがわからなくなった時は以下から

http://qiita.com/pugiemonn/items/75870ece3c8476bcb1c8