Other pooling modes?

What is the reasoning for exclusively using transaction mode for the pooler?

I’d like to use the session mode, bu I am currently dependent on prepared statements.


The answer is simple — performance. The utilization of open connections is much better in transaction mode.

As a workaround, you can set up a self-managed pgbouncer and connect it directly to the compute instance (without the -pooler option in the domain).

Sorry, I do not completely agree. Session mode actually disarm pooling (it can be used only to elimination reconnection overhead but can not reduce number of backends) and statement mode has almost no sense - it means that you can not use transactions.