LoginSignup
19
10

More than 3 years have passed since last update.

Herokuでpg:psqlを実行しようとしたらThe local psql command could not be located

Posted at

初歩中の初歩で引っかかったのでメモ。
意外とこんなところで引っかかる人もいるのかも…ということで。
※ローカル環境はWindows8.1を使ってます。

HerokuのアプリにHeroku Postgresを導入し、いざheroku pg:psql -a [appname]を打ったところ、こんなメッセージが。

command
$ heroku pg:psql -a [herokuのアプリ名]
--> Connecting to postgresql-adjacent-61496
 !    The local psql command could not be located. For help installing psql, see https://devcenter.heroku.com/articles/heroku-postgresql#local-setup

PostgreSQLをローカルにインストール

CLIで実行するにあたって、ローカルにPostgreSQLがインストールされている必要があるので、インストールします。

Heroku上のバージョンとローカルのバージョンを合わせる必要があるらしいので、まずは確認。

command
$ heroku pg -a [herokuのアプリ名]
=== DATABASE_URL
Plan:                  Hobby-dev
Status:                Available
Connections:           0/20
PG Version:            11.6
Created:               2020-02-01 02:31 UTC
Data Size:             7.9 MB
Tables:                1
Rows:                  2/10000 (In compliance)
Fork/Follow:           Unsupported
Rollback:              Unsupported
Continuous Protection: Off
Add-on:                postgresql-adjacent-61496

11.6だったので、postgresqlのダウンロードページから、同じバージョンをダウンロードしてインストールします。

よし、というわけでもう一度打ってみましょう。

command
$ heroku pg:psql -a [herokuのアプリ名]
--> Connecting to postgresql-adjacent-61496
 !    The local psql command could not be located. For help installing psql, see https://devcenter.heroku.com/articles/heroku-postgresql#local-setup

……は?

Pathを設定する

なんでやねんと思いつつ、提示されているURLをチェックしてみたら、こんな記載がありました。(Windows Set Upのところを参照しましょう)

Remember to update your PATH environment variable to add the bin directory of your Postgres installation. The directory will be similar to this: C:\Program Files\PostgreSQL\<VERSION>\bin. If you forget to update your PATH, commands like heroku pg:psql won’t work.

引用元:https://devcenter.heroku.com/articles/heroku-postgresql#set-up-postgres-on-windows

「ちゃんとPathを通さないとコマンド機能しないから忘れんなよ。」ってことみたいです。というわけで、Pathを設定しましょう。

「コントロールパネル」
  >「システムとセキュリティ」
   >「システム」
    >「システムの詳細設定」
     >「詳細設定」のタブから「環境変数(N)」を選択

ポップアップウインドウが表示されるので、「システム環境変数」から"Path"を探します。そこで「編集」を選択し、binファイルの置かれているパス(今回であればC:\Program Files\PostgreSQL\11\bin)をコピペします。

ちなみに入力されているデータを消さないように、先頭に区切り文字の;を付与してペーストします。私は何も知らずにそのまま上書きしてしまい、ひどい目に遭いました。Windows10ではそのような心配は無いようですが、Windoqs8.1の方はくれぐれも注意です。

そして改めて実行すると…。今度はちゃんと通ったようです。

command
$ heroku pg:psql -a [herokuのアプリ名]
--> Connecting to postgresql-adjacent-61496
psql (11.6)
SSL 接続 (プロトコル: TLSv1.2、暗号化方式: ECDHE-RSA-AES256-GCM-SHA384、ビット長: 256、圧縮: オフ)
"help" でヘルプを表示します。
herokuのアプリ名::DATABASE=>
19
10
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
19
10