Turn PostgreSQL off first:
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
$ brew services stop postgresql
Update PostgreSQL itself:
$ brew update && brew upgrade postgresql
Make a new, pristine 9.5 database:
$ initdb /usr/local/var/postgres9.5 -E utf8
Migrate the data to the new 9.5 database. Note that I have 9.4.5_2 in here, it could be that you aren’t on the latest version. Replace 9.4.5_2 with the most current version of postgres in that directory.
$ pg_upgrade \
-d /usr/local/var/postgres \
-D /usr/local/var/postgres9.5 \
-b /usr/local/Cellar/postgresql/9.4.5_2/bin/ \
-B /usr/local/Cellar/postgresql/9.5.0/bin/ \
-vMove 9.5 data directory back to where PostgreSQL expects it to be:
$ mv /usr/local/var/postgres /usr/local/var/postgres9.4
$ mv /usr/local/var/postgres9.5 /usr/local/var/postgresStart PostgreSQL back up!
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
$ brew services start postgresql
Note: If you’re using the pg gem for Rails, you should recompile:
$ gem uninstall pg
$ gem install pgNote 2: If you’ve already uninstalled a previous version of PostgreSQL, there is a good post on StackOverflow with instructions to install previous versions.