psycopg_pool
– Connection pool implementations¶
The package contains two connection pool implementations. A connection pool creates and maintains a limited amount of PostgreSQL connections and allows a larger number of users to use them. See Connection pools for more details and usage pattern.
This module implement two connection pools: ConnectionPool
is a
synchronous connection pool yielding Connection
objects and can be
used by multithread applications. AsyncConnectionPool
has a similar
interface, but with asyncio
functions replacing blocking functions, and
yields AsyncConnection
instances.
The intended use (but not mandatory) is to create a single connection pool, as
a global object exposed by a module in your application, and use the same
instance from the rest of the code (especially the
connection()
method.
Note
The psycopg_pool
package is distributed separately from the main
psycopg
package: use pip install psycopg[pool]
or pip install
psycopg_pool
to make it available. See Installing the connection pool.
The ConnectionPool
class¶
Pool exceptions¶
The AsyncConnectionPool
class¶
AsyncConnectionPool
has a very similar interface to the ConnectionPool
class but its blocking method are implemented as async
coroutines. It
returns AsyncConnection
instances, or its subclasses if specified
so in the connection_class parameter.
Only the function with different signature from ConnectionPool
are
listed here.