The easiest way to get started with PostgreSQL on the Mac
Pull request Compare This branch is 797 commits behind PostgresApp:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
PostgresHelper.entitlements is the easiest way to get started with PostgreSQL on the Mac. Open the app, and you have a PostgreSQL server ready and awaiting new connections. Close the app, and the server shuts down.


The latest version is available from the website.

Older versions and pre-releases are available in the releases section on github.


Documentation is available at, as well as from the "Open Documentation" menu item in

What's Included?

How To Build

Make sure you have autoconf and automake installed. The quickest way to install them is using MacPorts:

sudo port install autoconf automake

Then just open Postgres.xcodeproj in Xcode, select the Postgres scheme, and click "Build"

XCode will download and build PostgreSQL, PostGIS, and PLV8. Several hundred megabytes of sources will be downloaded and built. This can take an hour or longer, depending on your Internet connection and processor speed.

You can also build the PostgreSQL binaries from the command line. To do so, open a Terminal, change to the src directory, and type make. When the build is complete, switch to XCode and build with XCode. This makes debugging a lot easier!

Under the Hood bundles the PostgreSQL binaries as auxiliary executables. An XPC service manages postgres processes, which are terminated when the app is quit.

The database data directory is located in the /var directory of the Container's Application Support directory. When the app is launched, it checks for "PG_VERSION" in the directory. If it does not exist, initdb is run, and later, createdb to create a default database for the current user.

Command Line Utilities also includes useful command line utilities:

  • PostgreSQL: clusterdb createdb createlang createuser dropdb droplang dropuser ecpg initdb oid2name pg_archivecleanup pg_basebackup pg_config pg_controldata pg_ctl pg_dump pg_dumpall pg_receivexlog pg_resetxlog pg_restore pg_standby pg_test_fsync pg_test_timing pg_upgrade pgbench postgres postmaster psql reindexdb vacuumdb vacuumlo
  • PROJ.4: cs2cs geod invgeod invproj nad2bin proj
  • GDAL: gdal_contour gdal_grid gdal_rasterize gdal_translate gdaladdo gdalbuildvrt gdaldem gdalenhance gdalinfo gdallocationinfo gdalmanage gdalserver gdalsrsinfo gdaltindex gdaltransform gdalwarp nearblack ogr2ogr ogrinfo ogrtindex testepsg
  • PostGIS: pgsql2shp raster2pgsql shp2pgsql

See the documentation for more info.


If you find a bug, please open an issue. is maintained by Jakob Egger and Craig Kerstiens. was created by Mattt Thompson.

License is released under the PostgreSQL License. See LICENSE for additional information.