diff options
| -rw-r--r-- | doc/build/changelog/unreleased_20/9106.rst | 7 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/postgresql/psycopg.py | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/doc/build/changelog/unreleased_20/9106.rst b/doc/build/changelog/unreleased_20/9106.rst new file mode 100644 index 000000000..02e0495bc --- /dev/null +++ b/doc/build/changelog/unreleased_20/9106.rst @@ -0,0 +1,7 @@ +.. change:: + :tags: bug, postgresql + :tickets: 9106 + + Fixed regression where psycopg3 changed an API call as of version 3.1.8 to + expect a specific object type that was previously not enforced, breaking + connectivity for the psycopg3 dialect. diff --git a/lib/sqlalchemy/dialects/postgresql/psycopg.py b/lib/sqlalchemy/dialects/postgresql/psycopg.py index ead157b71..3f11556cf 100644 --- a/lib/sqlalchemy/dialects/postgresql/psycopg.py +++ b/lib/sqlalchemy/dialects/postgresql/psycopg.py @@ -339,7 +339,7 @@ class PGDialect_psycopg(_PGDialect_common_psycopg): def _type_info_fetch(self, connection, name): from psycopg.types import TypeInfo - return TypeInfo.fetch(connection.connection, name) + return TypeInfo.fetch(connection.connection.driver_connection, name) def initialize(self, connection): super().initialize(connection) @@ -717,7 +717,7 @@ class PGDialectAsync_psycopg(PGDialect_psycopg): from psycopg.types import TypeInfo adapted = connection.connection - return adapted.await_(TypeInfo.fetch(adapted._connection, name)) + return adapted.await_(TypeInfo.fetch(adapted.driver_connection, name)) def _do_isolation_level(self, connection, autocommit, isolation_level): connection.set_autocommit(autocommit) |
