Setup PostgreSQL for Rails on a Mac
#Pick your elephant poison
There are a myriad of ways to install PostgreSQL on a Mac. I will be going over brew{:sh} and Postgres.app. I like to go with the app as it eases into my workflow but does require it’s path to be set in your profile (e.g .zshrc{:sh}, .bashrc{:sh}, or fish.config{:sh})
#Homebrew Installation
The homebrew installation is straightforward and can be done by following the guide below.
- Run a brew command to install PG and take note of the documentation that follows it.
brew install postgresql- If this is your first install run the following command to create your first database
initdb /usr/local/var/postgres -E utf8- Create aliases to simplify the start and stop of the Postgres service
alias pg-start='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start'
alias pg-stop='pg_ctl -D /usr/local/var/postgres stop -s -m fast'#Postgres.app Installation
-
Visit https://postgresapp.com
-
Download the latest version which as of this writing is
9.2.4.1{:sh} -
Drag, drop, and open the elephant icon into the Application folder.
-
Set the following in your
.bashrc{:sh}or.zshrc{:sh}PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH" # If you are using Fish, use the following: set PATH /Applications/Postgres.app/Contents/MacOS/bin $PATH -
Open the elephant and verify it is referencing the app using
which psql{:sh}
The path should look like what was entered above but if all else fails restart your terminal session.
#Use Postgres in Rails
Now that you’ve successfully installed PG, you can utilize it in rails by including it in your gemfile.
#New Rails App
If you have yet to generate your rails app, you can set Postgresql as your database by running rails new blog -d postgresql{:sh}
You will then have to run rake db:create:all{:sh} to create the databases in the database.yml{:sh} file.
#Existing Rails App
For an existing rails app you will need to add the pg{:ruby} gem to your gemfile like so.
source 'https://rubygems.org'
gem 'rails', '4.0.0.rc1'
gem "pg", "~> 0.15.1"
gem 'sass-rails', '~> 4.0.0.rc1'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'You will also need to change your database.yml file to look something like this:
development:
adapter: postgresql
encoding: utf8
database: blog_dev
host: localhost
test:
adapter: postgresql
encoding: utf8
database: blog_test
host: localhost
production:
adapter: postgresql
encoding: utf8
database: blog_production
host: supersecretserverFinally, you can run rake db:create:all{:sh} followed by rake db:migrat{:sh} and continue editing your amazing rails app!
#Resources
No comments yet. Share on Mastodon and see your comment or write a post on your blog if you support Webmentions
No reposts yet. Share on Mastodon and see your repost or write a post on your blog if you support Webmentions
No likes yet. Share on Mastodon and see your like or write a post on your blog if you support Webmentions
No bookmarks yet. Share on Mastodon and see your bookmark or write a post on your blog if you support Webmentions
No mentions yet. Share on Mastodon and see your mention or write a post on your blog if you support Webmentions
Powered by Webmentions