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経由でインストール出来ましたでしょうか。個人的にはとても使い勝手がいいように思います。では今回は以上です。