我正在尝试通过 sqlalchemy 使用本地 postgres 数据库连接。它设法进入
with
语句,但一旦我尝试对连接执行任何操作,它就会开始崩溃。
async with database.async_session.begin() as db_session:
account = await AccountOrm.one_or_none(db_session, ...) # crash here, deep inside sqlalchemy internals
非常长的堆栈跟踪通过 sqlalchemy 进入连接池,以
socket.gaierror: [Errno -2] Name or service not known
结束。与此错误相关的所有其他答案都与 HTTP 问题有关,因此我对可能出现的问题感到有点茫然。
感谢某人对 HTTP 相关问题之一的回答,我意识到我的数据库连接字符串构建不正确。
我从环境变量值动态构造它,当我的主机名格式化为数据库连接字符串时,它意外地为空,这解释了套接字连接问题。
因此,如果您遇到与数据库相关的问题,请仔细检查您的连接字符串(或其他连接信息)。