psycopg2.pool - Connections pooling - Psycopg 2.7.3 documentation
psycopg2.pool
- Connections pooling
Creating new PostgreSQL connections can be an expensive operation. This module offers a few pure Python classes implementing simple connection pooling directly in the client application.
-
class
psycopg2.pool.
AbstractConnectionPool
( minconn , maxconn , *args , **kwargs ) -
Base class implementing generic key-based pooling code.
New minconn connections are created automatically. The pool will support a maximum of about maxconn connections. *args and **kwargs are passed to the
connect()
function.The following methods are expected to be implemented by subclasses:
The following classes are
AbstractConnectionPool
subclasses ready to
be used.
-
class
psycopg2.pool.
SimpleConnectionPool
( minconn , maxconn , *args , **kwargs ) -
A connection pool that can’t be shared across different threads.
Note
This pool class is useful only for single-threaded applications.
-
class
psycopg2.pool.
ThreadedConnectionPool
( minconn , maxconn , *args , **kwargs ) -
A connection pool that works with the threading module.
Note
This pool class can be safely used in multi-threaded applications.
-
class
psycopg2.pool.
PersistentConnectionPool
( minconn , maxconn , *args , **kwargs ) -
A pool that assigns persistent connections to different threads.
Note that this connection pool generates by itself the required keys using the current thread id. This means that until a thread puts away a connection it will always get the same connection object by successive
getconn()
calls. This also means that a thread can’t use more than one single connection from the pool.Note
This pool class is mostly designed to interact with Zope and probably not useful in generic applications.