Mac+HomeBrew+Postgresql+pg

MacPostgresqlを使おうとしてはまったことをメモ。

Posgtgresqlのインストール

HomeBrewを導入しているのでインストール自体は下記のコマンドで一発。

$ brew install postgresql

Postgresqlの初期設定

データベースの初期化をする

$ initdb /usr/local/var/postgres

Postgresqlの起動と終了

まずは起動。

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

次に終了。

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

自動で起動する場合は、下記のコマンドを実行する。

$ launchctl unload -w ~/Library/LaunchAgents/org.postgresql.postgres.plist
$ cp /usr/local/Cellar/postgresql/9.0.4/org.postgresql.postgres.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/org.postgresql.postgres.plist

ユーザの作成

Railsアプリ用のDB接続ユーザを作成する

$ createuser -P app_name
# パスワードとスーパーユーザにするかどうかを入力する

確認は下記のコマンドでできる。

psql -q -c'select * from pg_user' postgres

Postgresqlに接続するためのRubyGemsのpgをインストールする

ここでインストール方法を間違ってはまった。
単純に「gem install pg」ではだめ。
rake db:createとかやると「Permission Denied」で怒られる。

調べたらHomeBrewがご丁寧に説明をしてくれるらしい。

$ brew info postgresql
# 抜粋
If you want to install the postgres gem, including ARCHFLAGS is recommended:
    env ARCHFLAGS="-arch x86_64" gem install pg

これだよorz

これをこのまま実行する。

$ env ARCHFLAGS="-arch x86_64" gem install pg

rake通ったぁ・・・。

ちなみに、bundlerの場合どうするんだろう?