Skip to content

Cockroachdb connection pooling#87

@kszucs

Description

@kszucs
  • asyncpg version: 0.9.0
  • PostgreSQL version: Cockroachdb beta-20170223
  • Python version: Python 3.6.0
  • Platform: latest OS X
  • Do you use pgbouncer?: no
  • Did you install asyncpg with pip?: yes
  • If you built asyncpg locally, which version of Cython did you use?: 0.25.2
  • Can the issue be reproduced under both asyncio and
    uvloop?
    : not related

I'm trying to use cockroachdb with asyncpg.

With plain connection it works like a charm. On the other hand using connection pool fails with the following error:

ERROR:sanic:Traceback (most recent call last): File "/Users/krisz/.pyenv/versions/miniconda3-latest/envs/ml3/lib/python3.6/site-packages/sanic/app.py", line 391, in handle_request response = await response File "/Users/krisz/Workspace/papi/papi/app.py", line 34, in accounts_create print(results) File "/Users/krisz/.pyenv/versions/miniconda3-latest/envs/ml3/lib/python3.6/site-packages/asyncpg/pool.py", line 257, in __aexit__ await self.pool.release(con) File "/Users/krisz/.pyenv/versions/miniconda3-latest/envs/ml3/lib/python3.6/site-packages/asyncpg/pool.py", line 189, in release await connection.reset() File "/Users/krisz/.pyenv/versions/miniconda3-latest/envs/ml3/lib/python3.6/site-packages/asyncpg/connection.py", line 412, in reset ''') File "/Users/krisz/.pyenv/versions/miniconda3-latest/envs/ml3/lib/python3.6/site-packages/asyncpg/connection.py", line 171, in execute return await self._protocol.query(query, timeout) File "asyncpg/protocol/protocol.pyx", line 255, in query (asyncpg/protocol/protocol.c:56799) asyncpg.exceptions.InternalServerError: syntax error at or near "DO" 

Caused by the resetting the connection :

awaitself.execute(''' DO $$ BEGIN PERFORM * FROM pg_listening_channels() LIMIT 1; IF FOUND THEN UNLISTEN *; END IF; END; $$; SET SESSION AUTHORIZATION DEFAULT; RESET ALL; CLOSE ALL; SELECT pg_advisory_unlock_all(); ''')

I don't know the exact solution, but I'd like to use Cockroach with asyncpg :)

I've created an issue for cockroach developers too cockroachdb/examples-orms#19

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions