Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heroku-python/django-postgrespool
[DEPRECATED] Use https://pypi.org/project/django-postgrespool2/ instead
https://github.com/heroku-python/django-postgrespool
Last synced: 11 days ago
JSON representation
[DEPRECATED] Use https://pypi.org/project/django-postgrespool2/ instead
- Host: GitHub
- URL: https://github.com/heroku-python/django-postgrespool
- Owner: heroku-python
- License: mit
- Archived: true
- Created: 2012-09-27T21:25:55.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2020-03-06T09:12:24.000Z (over 4 years ago)
- Last Synced: 2024-08-01T22:57:12.392Z (3 months ago)
- Language: Python
- Homepage:
- Size: 29.3 KB
- Stars: 323
- Watchers: 10
- Forks: 66
- Open Issues: 11
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
Django-PostgresPool
===================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(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.