skip to navigation
skip to content

Not Logged In

django-postgrespool 0.3.0

Postgres Connection Pooling for Django.

This is a simple Postgres Connection Pooling backend for Django 1.4+, powered by the lovely and beautiful SQLAlchemy.


Using Django-PostgresPool is simple, just set django_postgrespool as your connection engine:

    'default': {
        'ENGINE': 'django_postgrespool'

If you’re using the dj-database-url module:

import dj_database_url

DATABASES['default'] = dj_database_url.config()
DATABASES['default']['ENGINE'] = 'django_postgrespool'

If you’re using south:

    'default': 'south.db.postgresql_psycopg2'

Everything should work as expected.


Installing Django-PostgresPool is simple, with pip:

$ pip install django-postgrespool


Optionally, you can provide additional options to pass to SQLAlchemy’s pool creation:

    'max_overflow': 10,
    'pool_size': 5,
    'recycle': 300

Here’s a basic explanation of two of these options:

  • pool_size – The minimum number of connections to maintain in the pool.
  • max_overflow – The maximum overflow size of the pool. This is not the maximum size of the pool.

The total number of “sleeping” connections the pool will allow is pool_size. The total simultaneous connections the pool will allow is pool_size + max_overflow.

As an example, databases in the Heroku Postgres starter tier have a maximum connection limit of 20. In that case your pool_size and max_overflow, when combined, should not exceed 20.

Check out the official SQLAlchemy Connection Pooling docs to learn more about the optoins that can be defined in DATABASE_POOL_ARGS.

Django 1.3 Support

django-postgrespool currently supports Django 1.4 and greater. See this ticket for 1.3 support.

File Type Py Version Uploaded on Size
django-postgrespool-0.3.0.tar.gz (md5) Source 2014-08-29 4KB
  • Downloads (All Versions):
  • 318 downloads in the last day
  • 2086 downloads in the last week
  • 9275 downloads in the last month