2025年9月25日: PostgreSQL 18 发布!

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”在 autocommit 事务中也开始一个事务(bug #941)。
  • Python 3.7 及以上版本支持带有分数分钟的时间(bug #1272)。
  • 转义 ‘copy_from()’ 和 ‘copy_to()’ 中的表名和列名。
  • sqlstate 为 '08XXX' 的连接异常被重新分类为 'OperationalError'(先前使用的 'DatabaseError' 的子类)(bug #1148)。
  • 包含 libpq 所需的库目录,以解决 MacOS 构建问题(bug #1200)。

其他更改

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

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