Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

【Mac/PostgreSQL】psqlコマンドが使えないときの対処法

概要

普段はMySQLを使ってアプリ開発をしていますが、諸事情でPostgreSQLが必要になりました。

今回、PostgreSQL v12.4の導入を目指したのですが、途中でpsqlコマンドが使えないという現象が起きました。

この記事ではPostgreSQL導入後にpsqlコマンドが使えなかった方のために、備忘録として僕が行ったことを記録します。

環境

  • macOS Catalina : 10.15.7
  • Homebrew : 2.5.8

ちなみにHomebrewnのバージョンは次の手順で確認します。

terminal
% brew --version
=> Homebrew 2.5.8


手順

まずは、インストールできるPostgreSQLのバージョンを確認します。

terminal
% 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をインストールします。

terminal
% brew install postgresql@12

# ちなみに@12をつけないと、最新版がインストールされます。

この状態でバージョンを確認すると…

terminal
% 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で見れるそうです。
なのでやってみると…

terminal
% psql --version
=> zsh: command not found: psql

できない…。
どの記事にも書いてあるのに…みんなできてることができないのは本当に焦ります…

とはいえbrew search postgresqlで12のバージョンが入ったことは確認できたので、頑張ればできるはずです。

しばらく「homebrew postgresql psql できない」などと検索し…。
色々ググり倒した結果見つかったコマンドbrew link postgresqlを実行したとき。

terminal
[~] % 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に環境変数を設定します。

terminal
# vim で確認
% vim ~/.zshrc

# i でインサートモードに

# 最後の行に
export PATH="/usr/local/opt/postgresql@12/bin:$PATH"

# esc => :wq で閉じる

# 更新
% source ~/.zshrc

これで、psqlを使えるようになりました!

terminal
% psql --version
=> psql (PostgreSQL) 12.4

無事にpsqlコマンドを使えるようになり、PostgreSQL v12.4の導入を確認できました!


参考

keisukesaito
25歳。猫派。2020/09からエンジニア転職。2021/01からWeb系エンジニアとして頑張ります。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away