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とかも作り直したり。
こういうのでハマるとちょっとやっかいすなぁ…。時間かかるし。