A little note on how I setup and bootstrap local PostgreSQL databases on OS X machines.

Instructions below were tested on OS X El Capitan, and target the 9.4.x series of PostgreSQL.

Install and setup PostgreSQL:

 1 $ brew update
 2 $ brew install postgresql94 ossp-uuid
 3 
 4 $ mkdir -p ~/Library/LaunchAgents
 5 $ cp /usr/local/Cellar/postgresql94/9.4.9_1/homebrew.mxcl.postgresql94.plist ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
 6 $ launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
 7 
 8 $ rm -rf /usr/local/var/postgres
 9 $ initdb /usr/local/var/postgres -E utf8 --no-locale
10 
11 $ sed -i "s/^#port = 5432/port = 5432/" /usr/local/var/postgres/postgresql.conf
12 $ sed -i "s/^#autovacuum = on/autovacuum = on/" /usr/local/var/postgres/postgresql.conf
13 $ sed -i "s/timezone = 'Europe\/Paris'/timezone = 'UTC'/" /usr/local/var/postgres/postgresql.conf
14 $ sed -i "s/log_timezone = 'Europe\/Paris'/log_timezone = 'UTC'/" /usr/local/var/postgres/postgresql.conf
15 
16 $ initdb /usr/local/var/postgres
17 
18 $ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Initialize PostgreSQL:

1 $ dropdb test_db
2 
3 $ createdb -E UTF8 -T template0 test_db
4 
5 $ psql --command 'CREATE EXTENSION "citext";' --dbname=test_db
6 $ psql --command 'CREATE EXTENSION "uuid-ossp";' --dbname=test_db
7 
8 $ tail -F /usr/local/var/postgres/server.log

Load up a dumped database:

1 $ pg_restore --verbose --clean --no-acl --no-owner -h localhost -d test_db ~/dump/2016-10-10-test_db.dump