-
Notifications
You must be signed in to change notification settings - Fork 150
Open
@mpdevilleres
Description
Greetings,
I have a use case where I need to set the variable for each session or connection.
and I am able to accomplish it using the asyncpg directly
import asyncpg con = await asyncpg.connect('postgresql://tenants@localhost:5433/internal?application_name=app_name') r = await con.fetchrow("SELECT current_setting('application_name')") Out[1]: <Record current_setting='app_name'> con = await asyncpg.connect('postgresql://postgres@localhost:5433/internal?options=-c%20app.name%3Dapp_name') r = await con.fetchrow("SELECT current_setting('app.name')") r Out[2]: <Record current_setting='app_name'>
but doing it with gino as shown below doesn't work.
from gino import Gino db = Gino() await db.set_bind('postgresql://tenants@localhost:5433/internal?application_name=app_name') r = await db.all("SELECT current_setting('application_name')") print(r) Out[3]: [('',)] db = Gino() await db.set_bind('postgresql://postgres@localhost:5433/internal?options=-c%20app.name%3Dapp_name') r = await db.all("SELECT current_setting('app.name')") print(r) Out[4]: asyncpg.exceptions.UndefinedObjectError: unrecognized configuration parameter "app.name"
I also tried passing connect_args={"application_name":"myapp"}
as recommended by zzzeek on set_bind. but I still fail to make it work.
Is there anyway for gino to achieve my use case?