You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Do you use a PostgreSQL SaaS? If so, which? Can you reproduce
the issue with a local PostgreSQL install?: Local
Python version: 3.9.9
Platform: macos
Do you use pgbouncer?: no
Did you install asyncpg with pip?: yes
If you built asyncpg locally, which version of Cython did you use?:
Can the issue be reproduced under both asyncio and uvloop?:
Hello! This is more of a feature request but I was wondering if there could be support for having a before_connect or similar callback when creating a Pool object that would run before a new connection is created? I see there is already an init param which is run after a connection is made.
Our use case is that we use dynamic credentials to access our postgres database and want to make sure that when we create a connection we are using credentials that are not stale. Is this something that makes sense for this project? There is similar functionality in other libraries such as sqlalchemy or pgx.
I was looking at how to do this as-is and there were two currently that I was exploring. One way would be to create our own Pool class which seems like a lot of maintainance for what we'd like to do. The other looked at creating a subclass and overriding the acquire and using set_connect_args but that would run every time we get a connection from a pool which would be wasteful as opposed to just when the creation happens.
The text was updated successfully, but these errors were encountered:
jhinds
changed the title
Support a before_connect callback to be used before a connection is created
Support a Pool before_connect callback to be used before a connection is created
Feb 14, 2024
I think it makes sense to provide a way to pass a connection factory. E.g. a connector=coro or connection_factory=coro that should return an instance of asyncpg.Connection. I would accept a PR along these lines if you make one.
the issue with a local PostgreSQL install?: Local
uvloop?:
Hello! This is more of a feature request but I was wondering if there could be support for having a
before_connect
or similar callback when creating a Pool object that would run before a new connection is created? I see there is already an init param which is run after a connection is made.Our use case is that we use dynamic credentials to access our postgres database and want to make sure that when we create a connection we are using credentials that are not stale. Is this something that makes sense for this project? There is similar functionality in other libraries such as sqlalchemy or pgx.
I was looking at how to do this as-is and there were two currently that I was exploring. One way would be to create our own Pool class which seems like a lot of maintainance for what we'd like to do. The other looked at creating a subclass and overriding the
acquire
and usingset_connect_args
but that would run every time we get a connection from a pool which would be wasteful as opposed to just when the creation happens.The text was updated successfully, but these errors were encountered: