我看到对 psycopg2 和 psycopg3 的引用,但没有明确的指导关于两者之间过渡的路线图。我发现随着时间的推移,出现了大量关于 psycopg2 的问题。
psycopg3 是否打算替代 psycopg2?这个版本有大量采用吗?
psycopg2 会有长期版本吗?是否有任何令人信服的理由选择一个版本而不是另一个版本?
来自 psycopg3 的文档:
Psycopg 3 是针对 Python 编程语言全新设计的 PostgreSQL 数据库适配器。
Psycopg 3 为使用过 Psycopg 2 或任何其他 DB-API 2.0 数据库适配器的每个人提供了熟悉的界面,但允许使用更现代的 PostgreSQL 和 Python 功能,例如:
- 异步支持
- Python 对象的 COPY 支持
- 重新设计的连接池
- 支持静态类型
- 服务端参数绑定
- 准备好的陈述
- 语句管道
- 二进制通信
- 直接访问 libpq 功能
乍一看,psycopg3 似乎支持更现代的 python 和 postgresql 功能,例如打字和异步。这样做可能需要对 psycopg2 进行大量向后不兼容的更改,因此需要新版本和分叉开发。