asyncpgsa:为 SQLAlchemy 提供异步 PostgreSQL 支持的库
asyncpgsa 是一个使用 Python 编写的开源项目,旨在为 SQLAlchemy 提供异步的 PostgreSQL 支持。它通过封装 asyncpg 库,使得用户可以在 SQLAlchemy 中使用异步操作来提高数据库操作的效率。
项目基础介绍
asyncpgsa 是一个为 SQLAlchemy Core 设计的扩展库,它允许开发者在异步编程环境中使用 PostgreSQL。该项目的核心是利用 Python 的异步和等待关键字,通过 SQLAlchemy Core 接口进行非阻塞的数据库操作。asyncpgsa 遵循 Apache-2.0 开源协议,可以在多个平台上使用。
核心功能
- 异步数据库操作:asyncpgsa 支持异步数据库操作,允许开发者编写非阻塞的数据库查询和事务。
- SQLAlchemy 集成:项目为 SQLAlchemy 提供了直接的集成,使得开发者可以在 SQLAlchemy 的框架下使用 asyncpg。
- 自定义方言支持:asyncpgsa 允许开发者插入自定义的数据库方言,以适应不同的数据库需求。
- 性能优化:asyncpgsa 通过避免 SQLAlchemy 的某些同步操作,提供了接近 asyncpg 的性能。
最近更新的功能
- 版本 0.18.0:此版本移除了记录代理对象,这些对象之前用于封装 asyncpg 的记录。现在 asyncpgsa 直接返回 asyncpg 的原生结果,这意味着不再支持点式表示法来访问列,开发者需要使用字典表示法来访问列的确切名称。同时,该版本还移除了
insert
方法,因为这个方法在项目中被认为是混淆且无用的。 - 版本 0.27.0:此版本更新了 asyncpgsa,使其仅兼容 asyncpg 0.22.0 或更高版本。
- 方言变化:项目在 0.9.0 版本中从 psycopg2 切换到了 pypostgres 作为默认方言,并提供了从 psycopg2 迁移的选项。
以上更新旨在优化性能,提升与 SQLAlchemy 的兼容性,并简化开发者的使用流程。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考