asyncpg
v0.30.0
asyncpg是专门为 PostgreSQL 和 Python/asyncio 设计的数据库接口库。 asyncpg 是 PostgreSQL 服务器二进制协议的高效、简洁的实现,可与 Python 的asyncio
框架一起使用。 您可以在介绍性博客文章中阅读有关 asyncpg 的更多信息。
asyncpg 需要 Python 3.8 或更高版本,并且支持 PostgreSQL 版本 9.5 至 17。其他 PostgreSQL 版本或实现 PostgreSQL 协议的其他数据库可能可以工作,但尚未进行积极测试。
项目文档可以在这里找到。
在我们的测试中,asyncpg 平均比 psycopg3 快5 倍。
上述结果是 2023 年 6 月使用 PostgreSQL 客户端驱动程序基准测试工具台获得的基准的几何平均值(点击图表查看完整详细信息)。
asyncpg 原生实现 PostgreSQL 服务器协议并直接公开其功能,而不是将它们隐藏在 DB-API 等通用外观后面。
这使得 asyncpg 能够提供易于使用的支持:
准备好的陈述
可滚动光标
对查询结果进行部分迭代
复合类型、数组及其任意组合的自动编码和解码
对自定义数据类型的直接支持
asyncpg 可在 PyPI 上使用。 当不使用 GSSAPI/SSPI 身份验证时,它没有依赖性。 使用pip安装:
$ pip 安装 asyncpg
如果您需要 GSSAPI/SSPI 身份验证,请使用:
$ pip install 'asyncpg[gssauth]'
有关更多详细信息,请参阅文档。
import asyncioimport asyncpgasync def run():conn = wait asyncpg.connect(user='user',password='password',database='database',host='127.0.0.1')values = wait conn.fetch('SELECT * 来自 mytable WHERE id = $1',10, )等待 conn.close()asyncio.run(run())
asyncpg 是在 Apache 2.0 许可证下开发和分发的。