aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/hashserv/sqlalchemy.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/hashserv/sqlalchemy.py b/lib/hashserv/sqlalchemy.py
index fc3ae3d33..f7b0226a7 100644
--- a/lib/hashserv/sqlalchemy.py
+++ b/lib/hashserv/sqlalchemy.py
@@ -129,7 +129,11 @@ class DatabaseEngine(object):
return inspect(conn).has_table(name)
self.logger.info("Using database %s", self.url)
- self.engine = create_async_engine(self.url, poolclass=NullPool)
+ if self.url.drivername == 'postgresql+psycopg':
+ # Psygopg 3 (psygopg) driver can handle async connection pooling
+ self.engine = create_async_engine(self.url, max_overflow=-1)
+ else:
+ self.engine = create_async_engine(self.url, poolclass=NullPool)
async with self.engine.begin() as conn:
# Create tables