Skip to content

Instantly share code, notes, and snippets.

@sjtipton
Last active December 24, 2015 12:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sjtipton/6797856 to your computer and use it in GitHub Desktop.
Save sjtipton/6797856 to your computer and use it in GitHub Desktop.
Postgres Post-installation Build Notes

After installing Postgres, follow these build notes (they will show in your terminal post-installation of Postgres):

Build Notes

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

Create/Upgrade a Database

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

Start/Stop PostgreSQL

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

Loading Extensions

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

Other

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.

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