When using connection pooling, take the following limitations into account:
SSL connections are currently not supported.
Long-running transactions can cause starvation of other sessions assigned to the same backend. If an application opens a transaction and then waits for user input or some other external event, the backend remains in the idle-in-transaction state and cannot be rescheduled for another session until this transaction is complete. With connection pooling enabled, it is recommended to avoid long-running transactions and set the idle_in_transaction_session_timeout configuration parameter to implicitly abort idle transactions after the specified interval has elapsed.
Built-in connection pooler does not support advisory session-level locks
(pg_advisory_lock) and returns an error if you try using them.
Modules that maintain the session state internally, such as plantuner, are not guaranteed to work with connection pooling enabled.
Connection pooling is incompatible with the following extensions:
in_memory
online_analyze
pg_variables