PostgreSQL 9.5 was released on Jan. 7, with lots of exciting new features.
I wrote a post about upgrading from 9.3 to 9.4 in the past, and many people found it useful, so I decided to update it a bit for the 9.4 to 9.5 upgrade.
- Turn PostgreSQL off first:
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist # or, if you're running a current version of Homebrew $ 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_2in here, it could be that you aren’t on the latest version. Replace
9.4.5_2with the most current version of
postgresin 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/ \ -v
- Move 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/postgres
- Start PostgreSQL back up!
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist # or, if you're running a current version of Homebrew $ brew services start postgresql
Note: If you’re using the
pg gem for Rails, you should recompile:
$ gem uninstall pg $ gem install pg
Note 2: If you’ve already uninstalled a previous version of PostgreSQL, there is a good post on StackOverflow with instructions to install previous versions.