无法连接到数据库:asyncio.exceptions.TimeoutError



我想在我的python代码连接到DB。

命令psql -U root -d user_service_db -h 192.168.88.218 -p 26257——工作正常在我的python代码中,我使用以下代码为连接

创建数据库url
@property
def DATABASE_URL(self):
return f"postgres://root:PASSWORD@192.168.88.218:26257/user_service_db"
然后应用这个URL
app.include_router(router, prefix='/v1')
register_tortoise(
app=app,
db_url=settings.DATABASE_URL,
modules={'models': settings.TORTOISE_MODELS},
generate_schemas=True,
add_exception_handlers=True
)
TORTOISE_ORM = {
"connections": {"default": settings.DATABASE_URL},
"apps": {
"models": {
"models": ["app.models.email_code", "app.models.user", "app.models.currency", "aerich.models"],
"default_connection": "default",
},
},
}

出错

web        |     return await connect_utils._connect(
web        |   File "/usr/local/lib/python3.9/site-packages/asyncpg/connect_utils.py", line 790, in _connect
web        |     raise last_error
web        |   File "/usr/local/lib/python3.9/site-packages/asyncpg/connect_utils.py", line 776, in _connect
web        |     return await _connect_addr(
web        |   File "/usr/local/lib/python3.9/site-packages/asyncpg/connect_utils.py", line 676, in _connect_addr
web        |     return await __connect_addr(params, timeout, True, *args)
web        |   File "/usr/local/lib/python3.9/site-packages/asyncpg/connect_utils.py", line 720, in __connect_addr
web        |     tr, pr = await compat.wait_for(connector, timeout=timeout)
web        |   File "/usr/local/lib/python3.9/site-packages/asyncpg/compat.py", line 66, in wait_for
web        |     return await asyncio.wait_for(fut, timeout)
web        |   File "/usr/local/lib/python3.9/asyncio/tasks.py", line 494, in wait_for
web        |     raise exceptions.TimeoutError() from exc
web        | asyncio.exceptions.TimeoutError

发现问题的原因是数据库不需要密码

正确的解决方案:

@property
def DATABASE_URL(self):
return f"postgres://root@192.168.88.218:26257/user_service_db"

最新更新