After installing Postgres, follow these build notes (they will show in your terminal post-installation of Postgres):
If builds of PostgreSQL 9 are failing and you have version 8.x installed, you may need to remove the previous version first. (See: https://github.com/mxcl/homebrew/issues/issue/2510)
To build plpython against a specific Python, set PYTHON prior to brewing (See: http://www.postgresql.org/docs/9.2/static/install-procedure.html):
PYTHON=/usr/local/bin/python
brew install postgresql
If this is your first install, create a database with:
initdb /usr/local/var/postgres -E utf8
To migrate existing data from a previous major version (pre-9.2) of PostgreSQL, see: http://www.postgresql.org/docs/9.2/static/upgrading.html
If this is your first install, automatically load on login with:
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/postgresql/9.2.0/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
If this is an upgrade and you already have the homebrew.mxcl.postgresql.plist loaded:
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
cp /usr/local/Cellar/postgresql/9.2.0/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Or start manually with:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
And stop with:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
By default, Homebrew builds all available Contrib extensions. To see a list of all available extensions, from the psql command line, run:
SELECT * FROM pg_available_extensions;
To load any of the extension names, navigate to the desired database and run:
CREATE EXTENSION [extension name];
For instance, to load the tablefunc extension in the current database, run:
CREATE EXTENSION tablefunc;
For more information on the CREATE EXTENSION command, see: http://www.postgresql.org/docs/9.2/static/sql-createextension.html For more information on extensions, see: http://www.postgresql.org/docs/9.2/static/contrib.html
Some machines may require provisioning of shared memory: (See: http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC)
To install postgresql (and ossp-uuid) in 32-bit mode:
brew install postgresql --32-bit
If you want to install the postgres gem, including ARCHFLAGS is recommended:
env ARCHFLAGS="-arch x86_64"
gem install pg
To install gems without sudo, see the Homebrew wiki.