postgresqlを9.1.4 => 9.2.4にアップデートした。

rails3.2のプロジェクトをrails4.0に移行している最中です。
なんかfeaturesのテストがおかしいのでcapybaraとcapybara-webkitを入れ直した方がよくね?と言われたのでそうするかーと思っていたらQtのバージョンアップもしといたほうがいいと言われたのでbrew upgradeしたらpostgresqlのバージョンも上がって色々変になったので直した。そのときのメモ。

参考にした記事。
Upgrading from PostgreSQL 9.1.x to 9.2.x with Homebrew

まず、アップグレードしてしまった。

brew upgrade

で、なんか動かなくなったので、参考URLを元に、pg_upgradeをしてみた。

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
mv /usr/local/var/postgres /usr/local/var/postgres91
initdb /usr/local/var/postgres -E utf8
pg_upgrade \
  -b /usr/local/Cellar/postgresql/9.1.4/bin \
  -B /usr/local/Cellar/postgresql/9.2.4/bin \
  -d /usr/local/var/postgres91 \
  -D /usr/local/var/postgres
cp /usr/local/Cellar/postgresql/9.2.4/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

postgresqlは動き出したのだが、今までのデータベースのデータが見当たらなくなってしまった…。
どこにあるのだろうか?いろいろとやっていたから、作業順序をミスって/usr/local/var/postgresをやっちまったのかもしれない。

まぁとりあえずpostgresqlは動いたのだが、今度はrailsがpostgresqlに繋がらなくなった。
pgsql_socketの位置が悪いみたいなことだった。

元々は
/var/pgsql_socket/.s.PGSQL.5432
にあったものが、バージョンアップしたら
/private/tmp/.s.PGSQL.5432
に移動してしまったようだ。

Fixing Postgres connection errors on Mountain Lionを参考に、シンボリックリンクをはった。

権限がないのでsudoしながらの作業。

sudo mkdir /var/pgsql_socket/
sudo chown _postgres:_postgres /var/pgsql_socket
sudo ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/

あとはなんとかなったけど、データベースとかなくなってたので、作り直したりした。
あとpostgresqlのroleとかも作り直したり。
こういうのでハマるとちょっとやっかいすなぁ…。時間かかるし。


カテゴリー Ruby, Ruby on Rails | タグ | パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です