From 0de09121b912385ce77f51042637ede2f51ce7a5 Mon Sep 17 00:00:00 2001 From: Adrian Edwards Date: Mon, 16 Mar 2026 10:49:04 -0400 Subject: [PATCH] inject application name into engine connection args based on https://stackoverflow.com/questions/15685861/setting-application-name-on-postgres-sqlalchemy Signed-off-by: Adrian Edwards --- collectoss/api/server.py | 2 +- collectoss/application/cli/db.py | 2 +- collectoss/application/db/__init__.py | 4 ++-- conftest.py | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/collectoss/api/server.py b/collectoss/api/server.py index 2c71dfcd1..a4d212f58 100644 --- a/collectoss/api/server.py +++ b/collectoss/api/server.py @@ -329,7 +329,7 @@ def get_server_cache(cache_manager) -> Cache: logger = SystemLogger("server").get_logger() url = get_database_string() -engine = create_database_engine(url, poolclass=StaticPool) +engine = create_database_engine(url, poolclass=StaticPool, connect_args={"application_name": f"collectoss v{code_version} api"}) db_session = DatabaseSession(logger, engine) system_config = SystemConfig(logger, db_session) diff --git a/collectoss/application/cli/db.py b/collectoss/application/cli/db.py index fd5db52cf..1a790e3c0 100644 --- a/collectoss/application/cli/db.py +++ b/collectoss/application/cli/db.py @@ -511,7 +511,7 @@ def run_psql_command_in_database(target_type, target): database_name = db_config["database_name"] db_conn_string = f"postgresql+psycopg2://{db_config['user']}:{db_config['password']}@{db_config['host']}:{db_config['port']}/{db_config['database_name']}" - engine = s.create_engine(db_conn_string) + engine = s.create_engine(db_conn_string, connect_args={"application_name": f"collectoss cli"}) check_call( [ diff --git a/collectoss/application/db/__init__.py b/collectoss/application/db/__init__.py index b10b00b44..84e2d977f 100644 --- a/collectoss/application/db/__init__.py +++ b/collectoss/application/db/__init__.py @@ -12,7 +12,7 @@ def get_engine(): if engine is None: url = get_database_string() - engine = create_database_engine(url=url, poolclass=StaticPool) + engine = create_database_engine(url=url, poolclass=StaticPool, connect_args={"application_name": f"collectoss"}) Session = sessionmaker(bind=engine) return engine @@ -42,7 +42,7 @@ def get_session(): def temporary_database_engine(): url = get_database_string() - temporary_database_engine = create_database_engine(url=url, poolclass=StaticPool) + temporary_database_engine = create_database_engine(url=url, poolclass=StaticPool, connect_args={"application_name": f"collectoss temporary/testing"}) try: yield temporary_database_engine diff --git a/conftest.py b/conftest.py index 55eae98b5..db2e95b78 100644 --- a/conftest.py +++ b/conftest.py @@ -14,7 +14,6 @@ from collectoss.application.config import SystemConfig from collectoss.application.db.engine import get_database_string, create_database_engine, parse_database_string, execute_sql_file - logger = logging.getLogger(__name__) default_repo_id = "25430" @@ -104,7 +103,8 @@ def generate_db_from_template(template_name): create_database(conn, cursor, test_db_name, template_name) # create engine to connect to db - engine = create_database_engine(test_db_string, poolclass=StaticPool) + engine = create_database_engine(test_db_string, poolclass=StaticPool, connect_args={"application_name": f"collectoss tests"}) + yield engine