Here are the steps I used to set up Postgres in Mac OSX. Most of what is written here was learned from this blog post. I am saving my notes here in case that site gets removed.
Install Postgress using brew
If you don’t have homebrew, install it first. Then simply run the command:
brew install postgres
This command initializes the database.
Set up Postgres to run at startup
Check if the directory
~/Library/LaunchAgents exists. Create it if it doesn’t exist.
Find the plist file that came with the postgres install. I found mine at
Copy the plist file to the LaunchAgents directory.
cp /usr/local/Cellar/postgresql/9.3.4/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
Now use launchctl to load the file using this command:
launchctl load -w homebrew.mxcl.postgresql.plist
Now when the computer reboots, postgres will automatically startup.
Additional Postgres Commands
Create a user
Postgres has a shell command called
createuser which will create a user for Postgres. Use it right from the OSX terminal command line like this:
createuser --pwprompt tunnelsup
If it asks you questions about the user you can say ‘n’ for all of the questions.
If you wish to create a user without a password just take the
--pwprompt off the command.
Create a database
Here is the command:
createdb -Otunnelsup -Eutf8 mysite_development
-O indicates the user that will become the owner of the database.
Access the Database
The following command can be used to log into the database.
psql -U tunnelsup -W mysite_development
The -U means to login using that username and the -W means to prompt for a password.
To exit the shell hit
Starting a new Rails project
In case you’re using this guide to get started using rails here’s how I would start the new rails app.
In dev I may not use a password for the database user. This makes it easier for me to get started and I don’t even have to edit the database.yml file.