From aef05b49dee068ba11c499012b9db8cafe8c8258 Mon Sep 17 00:00:00 2001 From: jshields Date: Thu, 9 Oct 2025 14:50:13 -0500 Subject: [PATCH 1/2] SQLAlchemy 2 with psycopg 3 Postgresql support --- broadcaster/_base.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/broadcaster/_base.py b/broadcaster/_base.py index f286c79..c961ff0 100644 --- a/broadcaster/_base.py +++ b/broadcaster/_base.py @@ -37,8 +37,10 @@ def __init__(self, url: str): self._backend = RedisBackend(url) - elif parsed_url.scheme in ("postgres", "postgresql"): + elif parsed_url.scheme in ("postgres", "postgresql", "postgresql+psycopg"): from broadcaster._backends.postgres import PostgresBackend + # NOTE: SQLAlchemy 2 with psycopg 3 uses "postgresql+psycopg" scheme + # https://docs.sqlalchemy.org/en/20/dialects/postgresql.html#module-sqlalchemy.dialects.postgresql.psycopg self._backend = PostgresBackend(url) From a17898af86134813b63fe7ea2266820a1cfab119 Mon Sep 17 00:00:00 2001 From: jshields Date: Thu, 9 Oct 2025 14:52:12 -0500 Subject: [PATCH 2/2] remove comment --- broadcaster/_base.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/broadcaster/_base.py b/broadcaster/_base.py index c961ff0..56055af 100644 --- a/broadcaster/_base.py +++ b/broadcaster/_base.py @@ -39,8 +39,6 @@ def __init__(self, url: str): elif parsed_url.scheme in ("postgres", "postgresql", "postgresql+psycopg"): from broadcaster._backends.postgres import PostgresBackend - # NOTE: SQLAlchemy 2 with psycopg 3 uses "postgresql+psycopg" scheme - # https://docs.sqlalchemy.org/en/20/dialects/postgresql.html#module-sqlalchemy.dialects.postgresql.psycopg self._backend = PostgresBackend(url)