Skip to main content

Postgres Connection Pooling for Django.

Project description

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

Usage

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

DATABASES = {
    '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:

SOUTH_DATABASE_ADAPTERS = {
    'default': 'south.db.postgresql_psycopg2'
}

Everything should work as expected.

Installation

Installing Django-PostgresPool is simple, with pip:

$ pip install django-postgrespool

Configuration

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

DATABASE_POOL_ARGS = {
    '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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-postgrespool-lab-0.3.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

django_postgrespool_lab-0.3.0-py2-none-any.whl (6.1 kB view details)

Uploaded Python 2

File details

Details for the file django-postgrespool-lab-0.3.0.tar.gz.

File metadata

File hashes

Hashes for django-postgrespool-lab-0.3.0.tar.gz
Algorithm Hash digest
SHA256 546b08c48570f7fc79da8e0f53f7b83a47b92e31ceca16bc5e20b4a83a11fa53
MD5 59a30930e973109f09dca9c4bf0fd6d8
BLAKE2b-256 fcffa5214e50d2cf927b0bdc18b29f1c1e755759d627d68e94f18322a72d9b62

See more details on using hashes here.

Provenance

File details

Details for the file django_postgrespool_lab-0.3.0-py2-none-any.whl.

File metadata

File hashes

Hashes for django_postgrespool_lab-0.3.0-py2-none-any.whl
Algorithm Hash digest
SHA256 a1f5ec4948794c8b672caa93296421e492476414b19cee2b804e4645dd84f1e9
MD5 b6058024fd08ded0efce936fccd2502a
BLAKE2b-256 d3cf936e4caafd27291c705fd636e431fa5eae438b11ce73cc259f0a208852f5

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page