[Mac]PostgreSQLをhomebrewでインストールする方法

nodeのバージョンも管理することが出来るbrewをインストールしよう

今回はmacOsの補完機能を提供しているHomebrewを使ってOSSのpostgreSQLをインストールしていきます。homebrewはパッケージを管理するのに役に立つことから人気のシステムとなっています。例えば、rubyのバージョンを管理するrbenやpythonのpyenb、nodeのバージョンを管理するnodebrewだったりと、プロジェクト毎にバージョンを変えてローカルで管理することが可能になります。バージョンの管理に困っていませんか?psqlのインストールもとても簡単なのでトライしてみましょう。

brewのインストール先は下記になります。

psqlのインストールは下記になります。

Xcodeは重たいからインストールしたくない

homebrewをインストールする前にXcodeをインストールする必要があるのですが、Xcodeはバージョンアップが頻繁にあるし、必要な容量も多い、重たいなどの理由からなるべくインストールしたくない場合があります。homebrewに必要なのはXcodeのCommand Line Tool for Xcodeということなので今回はXcodeなしで進めていきたいと思います。

Commad Line Toolsをインストール

$ xcode-select --install

Homebrewのインストール

では、homebrewをインストールします。homebrewをインストールする事でbrew コマンドでpostgreSQLを起動させたり停止させたり、することが出来ます。homebrewのサイトはこちらです。homebrewの公式サイト。下記のコマンドをターミナルで叩きます。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

brewコマンド

homebrewをインストールしたら、brewコマンドが使えるか試してみましょう。下記のコマンドはインストールされているパッケージを表示するコマンドです。

brew list

次にhomebrewのリポジトリに登録されているパッケージ検索コマンドです。

brew search postgresql

下記のように表示されましたらOKです。

formulaとはrubyで書かれたパッケージ定義の事です。インストールはbrew install <formula>のように使われます。

Formulaの情報を確認する

brew info postgresql

Uninstallコマンド

brew uninstall <formula>

更新のあるformulaを確認

brew outdated 

homebrewのバージョン確認

brew -v

homebrewでPostgreSQLをインストールする

brew install postgresql

psqlコマンドを使ってバージョンを確認する

psql -V

エラーがでた場合

Error: The brew link step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink include/ecpg_config.h
/usr/local/include is not writable.
You can try again using:
brew link postgresql

上記のようなエラーはリンクがされていないために起こるエラーです。インストールしたパッケージの実体は /usr/local/Cellar にあり、/usr/local/bin/ や /usr/local/lib/ にシンボリックリンクが作られます。whichコマンドでpsqlを表示させた場合、シンボリックリンクが該当します。

 brew link postgresql

上記のコマンドでエラーが解消されない場合はこちらが詳しく書かれています。

https://qiita.com/turmericN/items/4329f0786b76e8e1ecbf

https://qiita.com/kouki-T/items/d6444b81ce65d6412146

インストールが完了した時のメッセージ

上記の画像には3つのコマンドが表示されています。

 brew postgresql-upgrade-database
 brew services start postgresql
 pg_ctl -D /usr/local/var/postgres start

1のコマンドはデーターベースのアップグレードをhomebrewのアップグレードと分けて、個別で対応する場合のコマンドです。homebrewのアップグレードに引きずられてpostgreSQLのアップグレードも行われるための回避策となります。

2のコマンドはbrewコマンドによる、postgreSQLの起動コマンドです。

3のコマンドはpostgreSQLのバックグラウンド起動になります。停止コマンドはpg_ctl stopです。

DBの初期化
localeをja_JP.UTF-8に指定

 initdb /usr/local/var/postgres --encoding=UTF-8 --locale=ja_JP.UTF-8

PostgreSQLを起動する

ではpostgresqlを起動させてみましょう。

 brew services start postgresql

停止コマンドはこちらです。

 brew services stop postgresql

サーバーを立ち上げたらpsql コマンドが使えるようになります。detabase一覧コマンドです。

 psql -l

まとめ

いかがだったでしょうか。PostgreSQLをmacにbrew経由でインストール出来ましたでしょうか。個人的にはとても使い勝手がいいように思います。では今回は以上です。

SNSでもご購読できます。

検索