Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
PostgreSQL 9.2 upgrade steps
Steps to install and run PostgreSQL 9.2 using Homebrew (Mac OS X)
(if you aren't using version 9.1.5, change line 6 with the correct version)
1. pg_ctl -D /usr/local/var/postgres stop -s -m fast
2. mv /usr/local/var/postgres /usr/local/var/postgres91
3. curl > /usr/local/Library/Formula/postgresql.rb
4. brew upgrade postgresql
5. initdb /usr/local/var/postgres -E utf8
6. pg_upgrade -b /usr/local/Cellar/postgresql/9.1.5/bin -B /usr/local/Cellar/postgresql/9.2.0/bin -d /usr/local/var/postgres91 -D /usr/local/var/postgres
7. pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Copy link

swingman commented Sep 11, 2012

Using launchctl to run PostgreSQL, so I suspect the postgres server will relaunch within a few seconds of executing line 1.
Line 1 becomes:
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Replace 7 with:
cp /usr/local/Cellar/postgresql/9.2.0/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Copy link

swingman commented Sep 12, 2012

When running my version, pg_upgrade refused to run claiming postmaster was still running, so I had to delete a stale file inside the 9.1.5 directory.

Copy link

afair commented Sep 13, 2012

Remember it is always good to do a pg_dumpall before you start!

Also, I had a problem with pg_upgrade, it did not like that I had different lc_collate on each database setup, and did not run. I suspect that was due to the "-E utf8" option to initdb, which I may not have had before (but want now).

So I restored from the dump I took. :-)

Copy link

phil-monroe commented Oct 25, 2012

For postgres 9.2.1:

2. curl  > /usr/local/Library/Formula/postgresql.rb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment