Psycopg 2.9 发布

发布于 2021-06-19,作者:Psycopg 开发团队
相关开源

Psycopg 2.9 已经发布!

与之前的重大版本相比,这是一个相对较小的版本。然而,软件包的创建花费了大量精力。之前使用的 CI 系统现在对自由软件项目的支持减少了 - 因此决定将软件包构建迁移到 GitHub Actions。

由于 Python 打包标准的演变以及需要支持多种架构(Intel、ARM、PPC...),打包也变得更加复杂。

维护像 Psycopg 这样的项目需要大量的努力。因此,我们非常感谢所有 赞助商,他们使 Psycopg 的维护和开发成为可能。非常感谢! <3

psycopg 2.9 的新特性

  • “with connection” 也对自动提交事务启动事务 (ticket #941)。
  • Python 3.7 及更高版本支持带有分数分钟的时区 (ticket #1272)。
  • 在 'copy_from()' 和 'copy_to()' 中转义表名和列名。
  • sqlstate 为 '08XXX' 的连接异常重新分类为 'OperationalError' (先前使用的 'DatabaseError' 的子类) (ticket #1148)。
  • 包含从 libpq 要求的库目录,以解决 MacOS 构建问题 (ticket #1200)。

其他更改

  • 放弃支持 Python 2.7、3.4、3.5 (ticket #1198, ticket #1000, ticket #1197)。
  • 放弃支持 mx.DateTime。
  • 默认在 'datetime' 对象中使用 'datetime.timezone' 对象而不是 'FixedOffsetTimezone'。
  • 'psycopg2.tz' 模块已被弃用,并计划在下一个主要版本中删除。
  • 为 i686 和 x86_64 平台提供 PEP 599 wheels 包('manylinux2014' 标签)。
  • 为 aarch64 和 ppc64le 平台提供 PEP 600 wheels 包('manylinux_2_24' 标签)。
  • Wheel 包使用 OpenSSL 1.1.1k 和 PostgreSQL 13.3 编译。
  • 用于 Linux/MacOS 二进制包的构建系统已迁移到 GitHub Actions。

Psycopg 是 Python 编程语言中最受欢迎的 PostgreSQL 适配器。其核心完全实现了 Python DB API 2.0 规范。一些扩展允许访问 PostgreSQL 提供的许多功能。