Postgres.app 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 Postgres.app website.
Older versions and pre-releases are available in the releases section on github.
Documentation is available at http://postgresapp.com/documentation, as well as from the "Open Documentation" menu item in Postgres.app.
How To Build
If you want to tweak the GUI only, just make sure you have a compiled copy of Postgres.app in your applications folder. Open the XCode file and start hacking!
If you want to build your own versions of all the PostgreSQL binaries, you have a bit more work.
Make sure you have
automake installed. The quickest way to install them is using MacPorts:
sudo port install autoconf automake
For building PostgreSQL with docs, you also need a bunch of other tools:
sudo port install docbook-dsssl docbook-sgml-4.2 docbook-xml-4.2 docbook-xsl libxslt openjade opensp
Then make sure you remove other versions of
Postgres.app from your Applications folder.
src directory and type
This 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.
All the products will be installed in
Once this is done, you can just open
Postgres.xcodeproj in Xcode, select the "Postgres" scheme, and click "Build".
To share your build, use the "Archive" command and then use the "Distribute" command in Organizer.
Under the Hood
Postgres.app bundles the PostgreSQL binaries inside the application package. When you first start Postgres.app, here's what it does:
- Initialise a database cluster:
initdb -D DATA_DIRECTORY -EUTF-8 --locale=XX_XX.UTF-8
- Start the server:
pg_ctl start -D DATA_DIRECTORY -w -l DATA_DIRECTORY/postgres-server.log
- Create a user database:
On subsequent app launches, Postgres.app only starts the server.
Note that Postgres.app runs the server as your user, unlike other installations which might create a separate user named
When you quit Postgres.app, it stops the server using the following command:
pg_ctl stop -w -D DATA_DIRECTORY
Command Line Utilities
Postgres.app also includes useful command line utilities:
See the documentation for more info.
If you find a bug, please open an issue.
Postgres.app was created by Mattt Thompson.
Postgres.app is released under the PostgreSQL License. See LICENSE for additional information.