python - 无法连接到数据库: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"
推荐阅读
- linux - 使用 Ansible 永久设置环境变量
- rust - Rust 中的密钥库
- swift - Xcode Swift 包管理器
- django - 无法在虚拟环境中安装 Psycopg2
- javascript - 如何配置 webpack-dev-server 在重新加载之前关闭浏览器上的“beforeunload”事件?
- postgresql - 在 repmgr 中分配虚拟 IP
- sql - Bigquery View 没有进行分区修剪
- javascript - 如何使用 mocha/chai 测试 ejs/nodejs 功能?
- gitlab-ci - 为什么gitlab ci不执行规则?
- r - 使用 ggplot 绘制纵向数据的总体趋势