How to Install PostgreSQL for Mac OS X
In this tutorial, you will learn how to install PostgreSQL on a Mac with the Postgres Graphic Installer, the Postgres.app Mac app, and with Homebrew.
Note: This article was originally published on the Launch School blog on 2014–08–19
Introduction
Postgres is a powerful and free object-relational database management system. It has gained a lot of momentum since its introduction in 1995 because of its robustness and powerful features it ships with out of the box. In this article, we’ll walk through the process of installing a Postgres database on a Mac OS X machine and set it up for Ruby on Rails development.
Install Postgres Database with Homebrew
Homebrew is a popular package manager for OS X. To install Postgres with Homebrew, follow the steps below:
The first thing to do is install Homebrew if you haven’t done so already. Homebrew site has a simple command that you have to paste in your terminal to do so. Make sure to accept the command line developer tools installation if prompted.
Next, run brew install postgres
to install Postgres. It might take a little while to compile and install. After compilation is done, it'll give you some instructions to finish setting it up. Homebrew may complain that there is “No available formula with the name “postgres” when you try to run brew install postgres
. If you see this message, try installing one of the specific versions listed, preferring one of the most recent versions. For instance, to install version 14, you would run brew install postgresql@14
.
The database will be initialized during installation, so there isn’t a need to run initdb
to finish installation of Postgres via Homebrew. Near the end of the installation instructions you should see mention of the command brew services
.
If you don’t already have brew services
installed. It may be installed with this command:
brew tap homebrew/services
And then you can run the following command to start Postgres as a background service:
brew services start postgresql
Postgres will also restart automatically at login after you have run the command above.
Once Postgres has started, we can use brew services
to stop it manually:
brew services stop postgresql
Stopping `postgresql`... (might take a while)
==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)
Or we can also use brew services
to restart Postgres:
brew services restart postgresql
Stopping `postgresql`... (might take a while)
==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)
==> Successfully started `postgresql` (label: homebrew.mxcl.postgresql)
Now you should have PostgreSQL all set up.
Set Up Postgres to Work with a Rails App
First, install the pg
gem:
gem install pg -- --with-pg-config=/usr/local/bin/pg_config
Make sure you include the pg
gem in your Gemfile, and run
bundle install
Now, set up your config/database.yml
file to point to your Posgres database.
development:
adapter: postgresql
encoding: unicode
database: myapp_dev
pool: 5
username: your_username_on_mac
password:test:
adapter: postgresql
encoding: unicode
database: myapp_test
pool: 5
username: your_username_on_mac
password:
Let’s create the development and test databases:
rake db:create:all
Now you can run pending migrations, if there are any.
rake db:migrate