概要
普段はMySQL
を使ってアプリ開発をしていますが、諸事情でPostgreSQL
が必要になりました。
今回、PostgreSQL v12.4
の導入を目指したのですが、途中でpsql
コマンドが使えないという現象が起きました。
この記事ではPostgreSQL導入後にpsqlコマンドが使えなかった方
のために、備忘録として僕が行ったことを記録します。
環境
- macOS Catalina : 10.15.7
- Homebrew : 2.5.8
ちなみにHomebrewnのバージョンは次の手順で確認します。
% brew --version
=> Homebrew 2.5.8
手順
まずは、インストールできるPostgreSQLのバージョンを確認
します。
% brew search postgresql
==> Formulae
postgresql postgresql@11 postgresql@9.4 postgresql@9.6
postgresql@10 postgresql@12 #これ! postgresql@9.5
==> Casks
homebrew/cask/navicat-for-postgresql
postgresql12
をインストールします。
% brew install postgresql@12
# ちなみに@12をつけないと、最新版がインストールされます。
この状態でバージョンを確認すると…
% brew search postgresql
==> Formulae
postgresql postgresql@11 postgresql@9.4 postgresql@9.6
postgresql@10 postgresql@12 ✔ postgresql@9.5
==> Casks
homebrew/cask/navicat-for-postgresql
インストールされたバージョンに ✔ が入っています
。
ちなみにいろんな記事を検索したところ、バージョンはpsql --version
で見れるそうです。
なのでやってみると…
% psql --version
=> zsh: command not found: psql
できない…。
どの記事にも書いてあるのに…みんなできてることができないのは本当に焦ります…
とはいえbrew search postgresql
で12のバージョンが入ったことは確認できたので、頑張ればできるはずです。
しばらく「homebrew postgresql psql できない」などと検索
し…。
色々ググり倒した結果見つかったコマンドbrew link postgresql
を実行したとき。
[~] % brew link postgresql@12
Warning: postgresql@12 is keg-only and must be linked with --force
If you need to have this software first in your PATH instead consider running:
echo 'export PATH="/usr/local/opt/postgresql@12/bin:$PATH"' >> ~/.zshrc
最後の行に、ヒントが出てきました。
エラー文をGoogle翻訳で和訳してみると、次のとおりです。
(和訳)
警告:postgresql @ 12は樽のみであり、-forceとリンクする必要があります
このソフトウェアを最初にPATHに含める必要がある場合は、代わりに検討してください。
和訳して逆によくわからなくなりましたが、どうやらPATHを通さないと、psqlコマンドが使えないようです
。
なので指示通り、.zshrcに環境変数を設定します。
# vim で確認
% vim ~/.zshrc
# i でインサートモードに
# 最後の行に
export PATH="/usr/local/opt/postgresql@12/bin:$PATH"
# esc => :wq で閉じる
# 更新
% source ~/.zshrc
これで、psql
を使えるようになりました!
% psql --version
=> psql (PostgreSQL) 12.4
無事にpsql
コマンドを使えるようになり、PostgreSQL v12.4
の導入を確認できました!