Skip to content

Commit 1e1d504

Browse files
committed
fix init of asyncpg
1 parent 10141f7 commit 1e1d504

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

packages/service-library/src/servicelib/db_async_engine.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@ async def connect_to_db(app: FastAPI, settings: PostgresSettings) -> None:
2727
with log_context(
2828
_logger, logging.DEBUG, f"connection to db {settings.dsn_with_async_sqlalchemy}"
2929
):
30+
server_settings = None
31+
if settings.POSTGRES_CLIENT_NAME:
32+
assert isinstance(settings.POSTGRES_CLIENT_NAME, str) # nosec
33+
server_settings = {
34+
"application_name": settings.POSTGRES_CLIENT_NAME,
35+
}
3036
engine = create_async_engine(
3137
settings.dsn_with_async_sqlalchemy,
3238
pool_size=settings.POSTGRES_MINSIZE,
3339
max_overflow=settings.POSTGRES_MAXSIZE - settings.POSTGRES_MINSIZE,
34-
connect_args={
35-
"server_settings": (
36-
{"application_name": settings.POSTGRES_CLIENT_NAME}
37-
if settings.POSTGRES_CLIENT_NAME
38-
else None
39-
)
40-
},
40+
connect_args={"server_settings": server_settings},
4141
pool_pre_ping=True, # https://docs.sqlalchemy.org/en/14/core/pooling.html#dealing-with-disconnects
4242
future=True, # this uses sqlalchemy 2.0 API, shall be removed when sqlalchemy 2.0 is released
4343
)

packages/service-library/src/servicelib/db_asyncpg_utils.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ async def create_async_engine_and_database_ready(
2929

3030
server_settings = None
3131
if settings.POSTGRES_CLIENT_NAME:
32+
assert isinstance(settings.POSTGRES_CLIENT_NAME, str) # nosec
3233
server_settings = {
3334
"application_name": settings.POSTGRES_CLIENT_NAME,
3435
}
@@ -37,7 +38,7 @@ async def create_async_engine_and_database_ready(
3738
settings.dsn_with_async_sqlalchemy,
3839
pool_size=settings.POSTGRES_MINSIZE,
3940
max_overflow=settings.POSTGRES_MAXSIZE - settings.POSTGRES_MINSIZE,
40-
connect_args={"server_settings": server_settings} if server_settings else None,
41+
connect_args={"server_settings": server_settings},
4142
pool_pre_ping=True, # https://docs.sqlalchemy.org/en/14/core/pooling.html#dealing-with-disconnects
4243
future=True, # this uses sqlalchemy 2.0 API, shall be removed when sqlalchemy 2.0 is released
4344
)

0 commit comments

Comments
 (0)