On Wed, Oct 5, 2011 at 3:26 PM, Daniele Varrazzo
<daniele.varrazzo@gmail.com> wrote:
> I'm after a StackOverflow question
> <http://stackoverflow.com/questions/7658714/psycopg2-pgbouncer-async-mode-with-gevent-error/>
> where the user reports pgpool closing connections used by Python. Part
> of them were about the issue we discussed on the ML one year ago,
> where connections closed in transaction are discarded with "unclean
> server". But after he has ensured clear transactions, still pgpool
> drops the connections with "client close request".
pgbouncer "client close request" is client-only.
It will be in log on pqfinish(). It will not affect server.
If you dont see "unclean server", the server is still in pool.
> psycopg calls PQfinish on the connections when they are destroyed by
> python: I am assuming that pgpool intercepts any signal sent to the
> server on this event and instead resets a connection and puts it back
> to the pool. Am I wrong? Is there anything the user can do, e.g. in
> pgpool configuration, to reuse the connections, or the interaction
> between pgpool and psycopg is more fundamentally broken?
The connection must not be in tx.
The problem is in user code, unless there is unexpected behavior
in psycopg async mode.
--
marko