Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.


sact.recipe.postgresql is unavailable in PyPM, because there aren't any builds for it in the package repositories. Click the linked icons to find out why.

 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
Windows (64-bit)
Mac OS X (10.5+)
Linux (32-bit)
Linux (64-bit)
BSD License


This package is a zc.buildout recipe which allows to install a custom version of the PostgreSQL database server, locally to the package you are working on.

It can install the database server from:

  • source: this is handy if you want to quickly test your application with a new release of PostgreSQL or with a new development snapshot;
  • pre-compiled binary: if you already have a compiled version of PostgreSQL, you can also reuse it to speed up the buildout process.

The recipe will give you several tools in the bin/ directory to control the server. Thus, you will be able to start and stop it, launch a command line utility on the server, and so on.

Supported options

The recipe supports the following options:

Aministrator accounts to create. Defaults to postgres.
Super-users accounts to create. Defaults to root.
User accounts to create.
Destination of Postgresql. Defaults to the buildout section name.
Download URL for the target source version of Postgresql (required if url-bin is empty).
Download URL for the target binary version of Postgresql. This option is always used if it is set.
Folder of configuration files (the folder must exist). Defaults to ${location}.
Custom Postgresql configuration. Two options are required: data_directory unix_socket_directories (unix_socket_directory for older versions of PostgreSQL).

Binary url

The recipe can detect automatically your platform within (arch)s in the url. The syntax must follow the Python convention (read the sys.platform documentation). The goal is to use a CI tool on various platforms without create an buildout file to each one.

The binary mode is useful when you use a CI tool: you can test quickly the new code.


Simple example:

[pg92] recipe = sact.recipe.postgresql url = http://ftp.postgresql.org/pub/source/v9.2.2/postgresql-9.2.2.tar.bz2 conf-dir = /etc/postgresql/9.2 postgresql.conf =

System Message: ERROR/3 (<string>, line 78)

Unexpected indentation.
data_directory = '/srv/postgresql/9.2/db' unix_socket_directories = '/var/run'

More options:

[pg92] recipe = sact.recipe.postgresql url = http://ftp.postgresql.org/pub/source/v9.2.2/postgresql-9.2.2.tar.bz2 configure-options =

System Message: ERROR/3 (<string>, line 87)

Unexpected indentation.
--without-readline --with-python

System Message: WARNING/2 (<string>, line 89)

Block quote ends without a blank line; unexpected unindent.
make-options =

System Message: WARNING/2 (<string>, line 91)

Definition list ends without a blank line; unexpected unindent.

conf-dir = /etc/postgresql/9.2 postgresql.conf =

System Message: ERROR/3 (<string>, line 93)

Unexpected indentation.
data_directory = '/srv/postgresql/9.2/db' unix_socket_directories = '/var/run' listen_addresses = '' fsync = off synchronous_commit = off full_page_writes = off wal_buffers = 1024kB wal_writer_delay = 5000ms


Subscribe to package updates

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.