首页 > 解决方案 > 无法连接到数据库: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

标签: pythonpostgresqlfastapi

解决方案


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

正确解决方案:

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

推荐阅读