异步posgtresql驱动程序
asyncpg的Python项目详细描述
asyncpg是专门为 postgresql和python/asyncio。AsyncPg是一个高效、干净的实现 与python的^{tt1}一起使用的postgresql服务器二进制协议$ 框架。您可以在介绍性文章中阅读更多关于AsyncPg的内容 blog post。
AsyncPg需要Python3.5或更高版本,并支持PostgreSQL 版本9.2至11。
文档
可以找到项目文档 here。
性能
在我们的测试中,asyncpg平均比psycopg2快3x。 (以及它的异步变体-aiopg)。
以上结果是用PostgreSQL获得的基准的几何平均值 client driver benchmarking toolbench。
功能
asyncpg本机实现postgresql服务器协议并公开其 直接的特性,而不是将它们隐藏在一个通用的外观后面 比如DB-API。
这使AsyncPg能够轻松地支持:
- 准备好的语句
- 可滚动光标
- 查询结果的部分迭代
- 自动编码和解码复合类型,数组, 任何组合
- 直接支持自定义数据类型
安装
AsyncPg在Pypi上可用,并且没有依赖项。 使用PIP安装:
$ pip install asyncpg
基本用法
importasyncioimportasyncpgasyncdefrun():conn=awaitasyncpg.connect(user='user',password='password',database='database',host='127.0.0.1')values=awaitconn.fetch('''SELECT * FROM mytable''')awaitconn.close()loop=asyncio.get_event_loop()loop.run_until_complete(run())
许可证
AsyncPg是在Apache2.0许可下开发和分发的。