Install PostgreSQL on a Mac

Introduction

If you’re planning to run PostgreSQL on a Mac, it’s important to know how to install it properly. There are three common ways to install Postgres on a Mac: using Homebrew’s brew install command, downloading the DMG interactive installer for Postgres.app or using MacPorts. In this article, we’ll provide step-by-step instruction for all three of these methods, so you can choose the installation process that works best for you.

Prerequisites

Before attempting the instructions provided in this tutorial, make sure your Mac is running a supported version of MacOS X with at least 256MB of free disk space.

Install PostgreSQL on a Mac

As we mentioned earlier, there are three common ways to install PostgreSQL on macOS. You can use a downloadable DMG installer from Postgres.app, a Homebrew repository for Postgres or a MacPorts installation that uses the port command line interface.

It’s also possible to build a binary of PostgreSQL from source using a tarball archive or to run Postgres in a Docker container; however, we won’t be providing instructions for these alternatives in this article.

Install Postgres using the Postgres.app

The easiest way to install Postgres on a Mac is to visit the Postgres.app downloads page and get the latest stable version of PostgreSQL as a DMG interactive installer.

Once the download is complete, navigate to your Downloads directory in a Finder window and then double-click on the DMG file to mount the installer. After mounting it, you should see a window pop up that will allow you to drag and drop the Postgres.app to your Applications folder.

Postgres.app DMG interactive installer for macOS to install PostgreSQL on a Mac

Once you complete the installation steps, you should be able to run PostgreSQL by double-clicking the app’s icon in the Applications folder. You can also choose to have Postgres.app run by default– just add the application to your Login Items list in System Preferences.

Use the following export command in a macOS Terminal window to add the Postgres.app path to your current PATH environment variable:

1
export PATH="/Applications/Postgres.app/Contents/Versions/11/bin:$PATH"

Install PostgreSQL using Homebrew

If you’d prefer to use Homebrew to install Postgres, you can do so using the brew install command. You’ll need to install the latest version of Homebrew using Ruby if you haven’t already. To do this, use the following command:

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

If you’re running the latest Catalina version of macOS, the output of this command should look like the following:

1
2
3
4
5
6
7
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew

It may take a few minutes to install Homebrew depending on your internet connection. When the installation is complete, the next step is to “doctor” the Homebrew installation and update its repositories with this compound command:

1
brew doctor && brew update

NOTE: The latest versions of Homebrew will update the repository before installing packages.

Mac install of Postgres using ‘brew’

Now that we’ve installed the latest version of Homebrew, we can use the brew install command to install PostgreSQL:

1
brew install postgresql

NOTE: In Homebrew, the postgres “keg” is simply an alias for postgresql, so brew install postgres will work the same way.

Once the installation is finished, you can use the postgres -V or psql -V commands to return the version number and verify that the installation was successful. You can also use the brew list command to view a list of all locally installed packages using Homebrew.

Screenshot of using Homebrew to install PostgreSQL on a mac and returning the psql version number

psql command not found

If you get an error stating psql: command not found, you may have to export the path for the Homebrew installation using the following command:

1
export PATH=/Library/PostgreSQL/11/bin:$PATH

As an alternative, you can also add the following PATH line to your ~/.bash_profile, ~/.bashrc or ~/.zprofile file:

1
PATH="/Library/PostgreSQL/11/bin:$PATH"

After editing any of these files, be sure to save the changes. You can have the new settings take effect by running the source command followed by the file name:

1
source ~/.zprofile

Try executing the psql command again after making these changes to verify that the PATH for PostgreSQL and psql has been set.

Start the Postgres server

With Homebrew, you can use the brew services start command to have Postgres start in the background:

1
brew services start postgresql

If you’d prefer to run Postgres as a temporary background service, use the following pg_ctl command instead:

1
pg_ctl -D /usr/local/var/postgres start

You can use Homebrew’s enable command to have PostgreSQL start automatically whenever you restart your Mac:

1
brew services enable postgresql

Reinstall PostgreSQL using Homebrew

If you already have PostgreSQL on your Mac and you’d like to reinstall the latest version of it, you can also use Homebrew’s reinstall command:

1
brew reinstall postgresql

Install Postgres using MacPorts

The last method we’ll discuss in this article involves using the MacPorts package manager for macOS. To install Postgres on a Mac this way, visit the release page for MacPorts and download a .pkg installer that matches your version of macOS. Once the download is complete, you can navigate to your Downloads directory in a Finder window and double-click the package installer. Follow the steps for the interactive installer, and open a terminal window when you’re done.

Screenshot of how to install PostgreSQL on a Mac by installing Macports

NOTE: MacPorts also requires the Xcode library.

In order to install a package, you’ll need to export a path for Macport’s port command. Execute the following export command in a terminal window:

1
2
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
/opt/local/bin

You can also open your .bash_profile or .zprofile file and append the following:

1
PATH="/opt/local/bin:/opt/local/sbin:$PATH"

After saving your changes to the file, go back to your terminal and input source ~/.bash_profile or source ~/.zprofile to load the changes.

Use Macport’s ‘port’ command to install Postgres

At this point, we’re ready to use the port command to install Postgres. Use the following port info command to look for the PostgreSQL package:

1
port info postgresql_select

You should receive a response that looks like the following:

1
postgresql_select @0.4 (databases)

Now, use the port install command with sudo to install the PostgreSQL packages with elevated privilages:

1
sudo port install postgresql11 postgresql11-server

NOTE: You’ll need to press return or type y to verify that you’d like to install the package and its dependencies.

Screenshot using MacPorts to install PostgreSQL on a Mac

Finally, use the select command shown below to verify that PostgreSQL installed correctly:

1
port select --list postgresql

If you’re in the MacPort interface, you can just type \q to quit.

Uninstall Postgres on a Mac

If you need to uninstall a Homebrew installation of PostgreSQL, use the following command to force the uninstall, even if it depends on other packages:

1
brew uninstall --ignore-dependencies postgresql

If you’d like to see any existing PostgreSQL dependencies, use the command shown below:

1
brew dep postgresql

Uninstall Postgres.app on a Mac

You can uninstall the Postgres.app installation of PostgreSQL the same way you would for any package or applicaton on a Mac– just drag and drop the application from the Applications folder to the Trash directory. Make sure to first shut down the Postgres application and server before attempting this.

Uninstall the MacPorts installation of Postgres

If you installed Postgres using MacPorts, you’ll need to use the following command to remove the package:

1
sudo port uninstall postgres

Conclusion

If you need to install PostgreSQL on a Mac, it’s good to know the different methods that are available. In this article, we provided instructions on three common installation methods: using the Homebrew package manager, using the interactive installer and using MacPorts. With this tutorial to guide you, you’ll be able to select any of these methods for your own PostgreSQL installation.

Pilot the ObjectRocket Platform Free!

Try Fully-Managed CockroachDB, Elasticsearch, MongoDB, PostgreSQL (Beta) or Redis.

Get Started

Keep in the know!

Subscribe to our emails and we’ll let you know what’s going on at ObjectRocket. We hate spam and make it easy to unsubscribe.