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: - 
getconn(key=None)¶
- Get a free connection from the pool. - The key parameter is optional: if used, the connection will be associated to the key and calling - getconn()with the same key again will return the same connection.
 - 
putconn(conn, key=None, close=False)¶
- Put away a connection. - If close is - True, discard the connection from the pool. key should be used consistently with- getconn().
 - 
closeall()¶
- Close all the connections handled by the pool. - Note that all the connections are closed, including ones eventually in use by the application. 
 
- 
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.