Oliver Jowett <oliver@opencloud.com> writes:
> The driver uses server-side statements for frequently-used internal
> utility commands such as BEGIN too, and the lifetime of those statements
> is essentially "the whole connection", not a particular transaction.
I'm kinda hijacking the thread here, because this question is unrelated
to pgbouncer's behavior, but: have you ever done any performance
measurement to prove that preparing BEGIN/COMMIT/ROLLBACK is a good idea?
AFAICS there is only trivial parsing work to be saved, and no planning
work, and yet the overhead of storing and referencing a prepared
statement remains. My gut feeling is that this is at best a wash and
could easily be a loss, particularly as of 8.3 which will have more
overhead to maintain prepared statements.
regards, tom lane