psycopg and gevent with pgbouncer

From: Raoul Duke <knevcher(at)gmail(dot)com>
To: psycopg(at)postgresql(dot)org
Subject: psycopg and gevent with pgbouncer
Date: 2011-10-06 08:45:35
Message-ID: CAF1_pe9QhtwGqARYo3nW1eZ=MMh-63WZWd9242dj2zmWrJt07Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: psycopg

Hello.

I'm the author of this topic on stackoverflow
http://stackoverflow.com/questions/7658714/psycopg2-pgbouncer-async-mode-with-gevent-error
http://archives.postgresql.org/psycopg/2011-10/msg00006.php

I have two more questions:

1. When I use connection.commit() before end of application handle request,
I've got such messages in logs:

2011-10-05 13:00:52.941 26120 LOG C-0x7ea9d0: database/
user(at)10(dot)58(dot)65(dot)143:39380 login successful: db=database user=user
2011-10-05 13:00:52.941 26120 LOG C-0x7eb5a0: database/
user(at)10(dot)58(dot)65(dot)143:39378 login successful: db=database user=user
2011-10-05 13:00:52.942 26120 LOG C-0x7ecfe0: database/
user(at)10(dot)58(dot)65(dot)143:39377 login successful: db=database user=user
2011-10-05 13:00:52.948 26120 LOG C-0x7ea5e0: database/
user(at)10(dot)58(dot)65(dot)143:39293 closing because: client close request (age=0)
2011-10-05 13:00:52.978 26120 LOG C-0x7ea880: database/
user(at)10(dot)58(dot)65(dot)143:39381 login successful: db=database user=user
2011-10-05 13:00:52.978 26120 LOG C-0x7ea340: database/
user(at)10(dot)58(dot)65(dot)143:39315 closing because: client close request (age=0)
2011-10-05 13:00:52.993 26120 LOG C-0x7ec2c0: database/
user(at)10(dot)58(dot)65(dot)143:39314 closing because: client close request (age=0)

As I understand It `age` - is a count of connection uses. If I run
application in sync mode (without gevent), messages in logs have age = 140
and more. Maybe there is a reason why in async mode age is such a small?

2. I use psycopg simple connection pooler :
pool = SimpleConnectionPool(1, 3, connection_string)

if I add async option:
pool = SimpleConnectionPool(1, 3, connection_string, async=1)

I've got an error, than I can't understand:
File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 940,
in __create_execution_context
self._handle_dbapi_exception(e, kwargs.get('statement', None),
kwargs.get('parameters', None), None, None)
File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 931,
in _handle_dbapi_exception
raise exc.DBAPIError.instance(statement, parameters, e,
connection_invalidated=is_disconnect)
OperationalError: (OperationalError) asynchronous connection attempt
underway None [{}]

Do I understand that when using the gevent, I have to use async option?

Thanks a lot.

Responses

Browse psycopg by date

  From Date Subject
Next Message Marko Kreen 2011-10-06 08:54:06 Re: psycopg and gevent with pgbouncer
Previous Message Federico Di Gregorio 2011-10-06 07:51:39 Re: Hstore array implementation.