暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

什么?PG小版本发布又翻车了?

非法加冯 2025-02-17
467

老话说的好,不要在星期五发布。昨天晚上, PostgreSQL 全球开发者宣布发布了每季度一次的例行小版本更新,我没有立刻发布一个中文翻译,因为上次 11 月的小版本更新翻车场景《号外:发布当日叫停,PG也躲不过翻车》还历历在目。

不过我没想到的是,还真的又让我连着撞上第二次翻车。仅仅十二小时后,PGDG 就宣布了将在2月20号紧急发布一个号外小版本,来回滚这次的错误。

在 2.14 号例行发布的 17.3, 16.7, 15.11, 14.16, 以及 13.19 小版本中,修复了 CVE-2025-1094 安全漏洞。不过这个修复引入了新的问题:非空终止字符串的字符串处理相关。这是一个 libpq 客户端库的问题,所以通常来说对用户的影响并不大,但为了保险起见,PGDG 决定通过在一周后进行号外发布来及时修复这个问题。

对于用户来说,我们建议您在此期间(2025-02-14 - 2025-02-20)不要升级 PostgreSQL,同时,如果您在此期间使用 Pigsty 全新在线安装 PostgreSQL 集群或升级现有集群的版本,则默认会安装受此缺陷影响的 PG 版本,请务必谨慎。与此同时,暂定于明日发布的 Pigsty v3.3 也将跟随 PostgreSQL 下一个小版本的发布节奏向后顺延。我们将在 2月20 号的小版本更新后重新编译并发布受支持的 400 个 PG 扩展插件。

老实说,连续两次小版本发布都出现这种问题,确实是不太好。在《PostgreSQL 17 发布:摊牌了,我不装了!》我提到过:PG 开发者社区在过去一年中出现了非常显著的精神转变 —— Just use PostgreSQL for Everything 成为社区津津乐道的话题,而且官方更是直白的喊出了干翻顶级商业数据库(Oracle) 的口号。

这种昂扬乐观进取的精神一方面促使社区飞速前进,并诞生出 DuckDB 缝合大赛这种生态奇观。但另一方面也让PG社区开始飘起来了,这确实是需要注意的一件事。



计划于2025年2月20日发布非周期性更新

发布于 2025-02-14,由 PostgreSQL 全球开发组

PostgreSQL 项目组

https://www.postgresql.org/about/news/out-of-cycle-release-scheduled-for-february-20-2025-3016/

PostgreSQL[1] 全球开发组计划于2025年2月20日发布一个非周期性更新,以解决在2025年2月13日更新版本[2]中发布的回归问题,该版本包括了17.3、16.7、15.11、14.16和13.19[3]。此次更新将为所有受支持版本发布修复(17.4、16.8、15.12、14.17、13.20)。虽然这些修复可能不会影响所有PostgreSQL用户,但PostgreSQL全球开发组认为,提前解决这些问题要比等到下一次计划更新(2025年5月8日)[4]更为合适。

针对CVE-2025-1094[5],该漏洞关闭了libpq[6] PostgreSQL客户端库中的一个漏洞,修复过程中引入了与非空终止字符串处理相关的回归错误。此错误的可见性取决于PostgreSQL客户端实现此行为的方式,可能不会影响所有PostgreSQL驱动程序[7]。作为预防措施,PostgreSQL全球开发组决定发布跟进更新。

如果您受此问题影响,建议等待17.4、16.8、15.12、14.17和13.20版本的发布后再进行升级。


PostgreSQL 17.3, 16.7, 15.11, 14.16, 以及 13.19 发布!

https://www.postgresql.org/about/news/postgresql-173-167-1511-1416-and-1319-released-3015/

PostgreSQL全球开发组已发布更新,涵盖所有受支持版本的PostgreSQL,包括17.3、16.7、15.11、14.16和13.19。本次更新修复了1个安全漏洞和过去几个月内报告的70多个错误。

有关更改的完整列表,请查看发布说明[8]

安全问题

CVE-2025-1094[9]: PostgreSQL引号API未能中和文本中的引号语法,导致编码验证失败

CVSS v3.1 基础分数:8.1[10]

受支持的易受攻击版本:13 - 17。

PostgreSQL libpq
[11]
 函数 PQescapeLiteral()
PQescapeIdentifier()
PQescapeString()
 和 PQescapeStringConn()
 中的引号语法未正确中和,允许数据库输入提供者在某些使用模式下实现SQL注入。具体来说,SQL注入要求应用程序使用函数结果构造输入到psql(PostgreSQL交互终端)。同样,PostgreSQL命令行工具程序中引号语法的错误中和也允许命令行参数源在client_encoding
[12]
BIG5
server_encoding
[13]
EUC_TW
MULE_INTERNAL
时实现SQL注入。受影响的版本为PostgreSQL 17.3、16.7、15.11、14.16和13.19之前的版本。

PostgreSQL项目感谢Rapid7的首席安全研究员Stephen Fewer报告此问题。

错误修复与改进

本次更新修复了过去几个月内报告的70多个错误。以下列出的问题影响了PostgreSQL 17。其中一些问题也可能影响其他受支持版本的PostgreSQL。

恢复v17之前对超过63字节的数据库名称和用户名的截断行为。在并行工作进程中不执行连接权限检查和限制,而是从主进程继承这些权限。LWLock
等待事件名称中移除Lock
后缀。
修复窗口聚合中可能出现的陈旧结果重复使用问题,这可能导致错误的结果。多个vacuum
问题修复,最严重的情况下可能导致系统目录损坏。
多个截断表和索引的修复,防止潜在的损坏。修复在其自身外键约束引用分区表时分离分区的问题。修复to_timestamp
中的FFn
(例如,FF1
)格式代码,其中整数格式代码在FFn
之前会消耗所有可用数字。
对SQL/JSON和XMLTABLE()
进行修复,确保在必要时对特定条目进行双引号处理。
pg_hba_file_rules()
[14]
中包含ldapscheme
选项。
UNION
的多个修复,包括不合并具有不兼容排序规则的列。
多个可能影响连接到PostgreSQL的可用性或启动速度的修复。修复逻辑解码输出中的多个内存泄漏。修复PL/Python[15]中的多个内存泄漏。COPY (MERGE INTO)
[16]
添加psql标签补全。
使pg_controldata
[17]
在显示损坏的pg_control[18]文件信息时更具韧性。
修复pg_restore
[19]
在处理zstd压缩数据时的内存泄漏。
修复pg_basebackup
[20]
在Windows上正确处理超过2GB的pg_wal.tar文件。
earthdistance[21]修改为使用SQL标准函数体,解决了当数据库使用此扩展并升级到v17时可能出现的问题。修复pageinspect[22]中的崩溃问题,当brin_page_items()
函数定义未更新到最新版本时会发生该问题。
修复在尝试取消postgres_fdw
[23]
远程查询时的竞争条件问题。

本次更新还将时区数据文件更新为tzdata 2025a版,包含了巴拉圭的夏令时法律变化和菲律宾的历史性更正。

更新

所有PostgreSQL更新版本都是累积性的。与其他次要版本更新一样,用户不需要转储并重新加载数据库或使用pg_upgrade
来应用此更新版本;只需关闭PostgreSQL并更新其二进制文件即可。

跳过一个或多个更新版本的用户可能需要执行额外的更新后步骤;有关详细信息,请参阅早期版本的发布说明。

欲了解更多详细信息,请查看发布说明[24]

链接

下载[25]发布说明[26]安全[27]版本政策[28]捐赠[29]

如果您对本次发布公告有任何更正或建议,请将其发送到*pgsql-www@lists.postgresql.org[30]*公共邮件列表[31]

https://mp.weixin.qq.com/s/l1BgfLaRKNNEqHyfx33E6A?token=40546795&lang=zh_CN

References

[1]
 PostgreSQL: https://www.postgresql.org/
[2]
 2025年2月13日更新版本: https://www.postgresql.org/about/news/postgresql-173-167-1511-1416-and-1319-released-3015/
[3]
 17.3、16.7、15.11、14.16和13.19: https://www.postgresql.org/about/news/postgresql-173-167-1511-1416-and-1319-released-3015/
[4]
 下一次计划更新(2025年5月8日): https://www.postgresql.org/developer/roadmap/
[5]
 CVE-2025-1094: https://www.postgresql.org/support/security/CVE-2025-1094/
[6]
 libpq: https://www.postgresql.org/docs/current/libpq.html
[7]
 所有PostgreSQL驱动程序: https://wiki.postgresql.org/wiki/List_of_drivers
[8]
 发布说明: https://www.postgresql.org/docs/release/
[9]
 CVE-2025-1094: https://www.postgresql.org/support/security/CVE-2025-1094/
[10]
 8.1: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?version=3.1&vector=AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
[11]
 libpq
https://www.postgresql.org/docs/current/libpq.html
[12]
 client_encoding
https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-CLIENT-ENCODING
[13]
 server_encoding
https://www.postgresql.org/docs/current/runtime-config-preset.html#GUC-SERVER-ENCODING
[14]
 pg_hba_file_rules()
https://www.postgresql.org/docs/current/view-pg-hba-file-rules.html
[15]
 PL/Python: https://www.postgresql.org/docs/current/plpython.html
[16]
 COPY (MERGE INTO)
https://www.postgresql.org/docs/current/sql-copy.html
[17]
 pg_controldata
https://www.postgresql.org/docs/current/app-pgcontroldata.html
[18]
 pg_control: https://www.postgresql.org/docs/current/wal-internals.html
[19]
 pg_restore
https://www.postgresql.org/docs/current/app-pgrestore.html
[20]
 pg_basebackup
https://www.postgresql.org/docs/current/app-pgbasebackup.html
[21]
 earthdistance: https://www.postgresql.org/docs/current/earthdistance.html
[22]
 pageinspect: https://www.postgresql.org/docs/current/pageinspect.html
[23]
 postgres_fdw
https://www.postgresql.org/docs/current/postgres-fdw.html
[24]
 发布说明: https://www.postgresql.org/docs/release/
[25]
 下载: https://www.postgresql.org/download/
[26]
 发布说明: https://www.postgresql.org/docs/release/
[27]
 安全: https://www.postgresql.org/support/security/
[28]
 版本政策: https://www.postgresql.org/support/versioning/
[29]
 捐赠: https://www.postgresql.org/about/donate/
[30]
 pgsql-www@lists.postgresql.org: mailto:pgsql-www@lists.postgresql.org
[31]
 邮件列表: https://www.postgresql.org/list/


数据库老司机专栏

2025-01-22 数据库即架构
2025-01-14 PostgreSQL荣获2024年度数据库(5冠王)
2025-01-11 PII数据安全合规与PG Anonymizer最佳实践
2025-01-07 第七届PG生态大会:一些感想
2025-01-01 Andy Pavlo: 2024年度数据库回顾
2024-12-31 Pigsty@2024:今年没啥财运,但事儿整的还不赖
2024-12-23 小猪骑大象:PG内核与扩展包管理神器
2024-12-18 PostgreSQL 2024 社区现状调查报告
2024-12-03 七周七数据库 @ 2025
2024-11-30 你为什么不用连接池?
2024-11-26 创业出海神器 Supabase 自建指南
2024-11-21 面向未来数据库的现代硬件
2024-11-18 这么吹国产数据库,听的尴尬癌都要犯了
2024-11-17 20刀好兄弟PolarDB:论数据库该卖什么价?
2024-11-15 不要更新!发布当日叫停:PG也躲不过大翻车
2024-11-14 PostgreSQL 12 过保,PG 17 上位
2024-11-05 PZ:MySQL还有机会赶上PostgreSQL的势头吗?
2024-11-02 PostgreSQL神功大成!最全扩展仓库
2024-10-28 YC教父Paul Graham:写作者与非写作者
2024-10-25 开源皇帝Linus清洗整风
2024-10-01 第二批数据库国测名单:国产化来了怎么办?
2024-09-27 PostgreSQL 17 发布:摊牌了,我不装了!
2024-09-26 PG系创业公司Supabase:$80M C轮融资
2024-09-07 先优化碳基BIO核,再优化硅基CPU核
2024-09-05 PostgreSQL 17 RC1 发布!与近期PG新闻
2024-09-04 MongoDB没有未来:“好营销”救不了烂芒果
2024-09-03 《黑历史:Mongo》:现由PostgreSQL驱动
2024-09-02 PostgreSQL可以替换微软SQL Server吗?
2024-08-30 ElasticSearch又重新开源了???
2024-08-22 GOTC 2024 BTW采访冯若航
2024-08-13 谁整合好DuckDB,谁赢得OLAP数据库世界
2024-08-09 PostgreSQL小版本更新,17beta3,12将EOL
2024-08-06 PG隆中对,一个PG三个核,一个好汉三百个帮
2024-08-03 最近在憋大招,数据库全能王真的要来了
2024-07-31 ClickHouse收购PeerDB:这浓眉大眼的也要来搞 PG 了?
2024-07-25 StackOverflow 2024调研:PostgreSQL已经超神了
2024-07-15 机场出租车恶性循环与国产数据库怪圈
2024-07-12 MySQL新版恶性Bug,表太多就崩给你看!
2024-07-09 MySQL安魂九霄,PostgreSQL驶向云外
2024-06-28 CentOS 7过保了,换什么OS发行版更好?
2024-06-26 用PG的开发者,年薪比MySQL多赚四成?
2024-06-20 Oracle最终还是杀死了MySQL!
2024-06-19 MySQL性能越来越差,Sakila将何去何从?
2024-06-18 让PG停摆一周的大会:PGCon.Dev参会记
2024-05-29 PGCon.Dev 2024 温哥华扩展生态峰会小记
2024-05-24 PostgreSQL 17 Beta1 发布!牙膏管挤爆了!
2024-05-16 为什么PostgreSQL是未来数据的基石?
2024-04-25 国产数据库到底能不能打?
2024-03-28 PostgreSQL 主要贡献者 Simon Riggs 因坠机去世
2024-03-26 Redis不开源是“开源”之耻,更是公有云之耻
2024-03-24 PostgreSQL会修改开源许可证吗?
2024-03-16 PostgreSQL is eating the database world
2024-03-14 RDS阉掉了PostgreSQL的灵魂
2024-03-04 PostgreSQL正在吞噬数据库世界
2024-02-19 技术极简主义:一切皆用Postgres
2024-02-18 PG生态新玩家ParadeDB
2024-02-02 DBA会被云淘汰吗?
2024-01-14 快速掌握PostgreSQL版本新特性
2024-01-13 令人惊叹的PostgreSQL可伸缩性
2024-01-11 国产数据库是大炼钢铁吗?
2024-01-08 中国对PostgreSQL的贡献约等于零吗?
2024-01-05 展望PostgreSQL的2024 (Jonathan Katz)
2024-01-03 2023年度数据库:PostgreSQL (DB-Engine)



文章转载自非法加冯,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论