Setting Up Postgres on Mac OSX with Homebrew
I ran into some challenges installing postgres via homebrew. I attempted to follow these instruction, as is advised by the postgres website but ran into further problems. The following steps outline how I was able to finally work around the problems. Note that I’m using Mac OSX 10.6.8.
Uninstall old versions of postgres:
brew rm postgresql --force
Update homebrew:
brew update
Install postgres:
brew install postgresql
Make a postgres directory:
sudo mkdir -p /usr/local/var/postgres
Tweak its permissions (change “YOURUSERNAME” to your username:
sudo chown YOURUSERNAME:admin /usr/local/var/postgres/
initdb:
initdb /usr/local/var/postgres/data
Add postgres to LaunchAgents directory:
cp /usr/local/Cellar/postgresql/9.2.4/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents
Load it:
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgres.plist
Start the server:
pg_ctl -D /usr/local/var/postgres/data -l /usr/local/var/postgres/data/server.log start
Note: If you receive a ‘FATAL: role “postgres” does not exist’ message when doing something like rake db:create
, you may be missing the default postres user, postgres. This can be fixed with the following command:
createuser -s -U $USER