↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

文档版本比较

POSTGRESQL · VERSION COMPARE

PostgreSQL 9.0.9 发布变化

此版本的完整功能、修复与兼容性说明,以及其他版本的关联记录。

此版本的完整变化
此版本的完整变化

包括起始版本之后至目标版本的变化。大版本号表示该分支的首个版本。

完整发布变化

9.0.9

2012-08-17

导出 JSON ↓
23项变化功能、修复、改进
1个版本按版本分组
2CVE独立漏洞编号

9.0.9stable支持截止 2015-10-08

安全变化
CVE / 问题严重程度修复版本所选版本状态
CVE-2012-3489

防止通过 XML 实体引用访问外部文件/URL

9.0.9已记录修复
CVE-2012-3488

防止通过 contrib/xml2 的 xslt_process() 访问外部文件/URL

9.0.9已记录修复

PostgreSQL 9.0.9

迁移与兼容性

对于运行 9.0.X 的用户,不需要进行转储/恢复。

不过,如果你是从早于 9.0.6 的版本升级,请参见第 E.18 节。

安全防止通过 XML 实体引用访问外部文件/URL

变更

防止通过 XML 实体引用访问外部文件/URL(Noah Misch、Tom Lane)

xml_parse() 会尝试按需获取外部文件或 URL 来解析 XML 值中的 DTD 和实体引用,从而使无特权数据库用户能够尝试以数据库服务器的权限获取数据。虽然外部数据不会直接返回给用户,但如果数据不能解析为有效 XML,其部分内容可能暴露在错误消息中;而且无论如何,仅仅能够检查文件是否存在对攻击者就可能有用。(CVE-2012-3489)

关联记录 (1)
安全防止通过 contrib/xml2 的 xslt_process() 访问外部文件/URL

变更

防止通过 contrib/xml2 的 xslt_process() 访问外部文件/URL(Peter Eisentraut)

libxslt 提供通过样式表命令读写文件和 URL 的能力,从而使无特权数据库用户能够以数据库服务器的权限读写数据。现通过正确使用 libxslt 的安全选项禁用该能力。(CVE-2012-3488)

此外,移除了 xslt_process() 从外部文件/URL 获取文档和样式表的能力。虽然这是一个有记载的“特性”,但长期以来被认为是个坏主意。CVE-2012-3489 的修复破坏了该能力,与其花费精力修复它,我们干脆将其移除。

关联记录 (1)
改进防止 btree 索引页被过早回收

变更

防止 btree 索引页被过早回收(Noah Misch)

当我们允许只读事务跳过分配 XID 时,引入了已删除 btree 页在只读事务仍在访问它时就被回收的可能性。这会导致错误的索引搜索结果。由于时序要求,这种错误在实际中发生的概率似乎很低,但仍应修复。

关联记录 (1)
问题修复修复新创建或重置序列的崩溃安全缺陷

变更

修复新创建或重置序列的崩溃安全缺陷(Tom Lane)

如果在新创建或重置的序列上执行了 ALTER SEQUENCE,然后恰好对它调用了一次 nextval(),随后服务器崩溃,WAL 重放会把序列恢复到看起来没有执行过 nextval() 的状态,从而使下一个 nextval() 调用再次返回第一个序列值。这种情况尤其可能出现在 serial 列上,因为创建 serial 列的序列包含一个 ALTER SEQUENCE OWNED BY 步骤。

关联记录 (1)
问题修复修复 txid_current(),使其在非热备下报告正确的纪元(epoch)

变更

修复 txid_current(),使其在非热备下报告正确的纪元(epoch)(Heikki Linnakangas)

这修复了上一个小版本引入的退化。

关联记录 (1)
问题修复修复主库事务有大量子事务时热备启动的缺陷

变更

修复主库事务有大量子事务时热备启动的缺陷(Andres Freund)

这一失误导致报告为 “out-of-order XID insertion in KnownAssignedXids” 的失败。

关联记录 (1)
改进确保 pg_start_backup() 之后对 backup_label 文件执行 fsync

变更

确保 pg_start_backup() 之后对 backup_label 文件执行 fsync(Dave Kerr)

关联记录 (1)
问题修复修复 walsender 进程中的超时处理

变更

修复 walsender 进程中的超时处理(Tom Lane)

WAL 发送端后台进程疏于建立 SIGALRM 处理程序,这意味着在某些应发生超时的极端情况下它们会永远等待。

关联记录 (1)
改进回移植压缩 fsync 请求队列的 9.1 改进

变更

回移植压缩 fsync 请求队列的 9.1 改进(Robert Haas)

这改进了检查点期间的性能。9.1 的变更已经过足够的实际测试,看起来可以安全回移植。

问题修复修复 LISTEN/NOTIFY,使其更好地应对 I/O 问题(例如磁盘空间耗尽)

变更

修复 LISTEN/NOTIFY,使其更好地应对 I/O 问题(例如磁盘空间耗尽)(Tom Lane)

写入失败之后,所有后续发送更多 NOTIFY 消息的尝试都会失败,并显示诸如 “Could not read from file "pg_notify/nnnn" at offset nnnnn: Success” 的消息。

关联记录 (1)
改进只允许被直接阻塞的进程自动取消自动清理

变更

只允许被直接阻塞的进程自动取消自动清理(Tom Lane)

原始编码在某些情况下可能允许不一致的行为;特别是自动清理可能在不足 deadlock_timeout 宽限期之后就被取消。

关联记录 (1)
改进改进自动清理取消的日志记录

变更

改进自动清理取消的日志记录(Robert Haas)

关联记录 (1)
问题修复修复日志收集器,使 log_truncate_on_rotation 在服务器启动后的第一次日志轮转期间就能工作

变更

修复日志收集器,使 log_truncate_on_rotation 在服务器启动后的第一次日志轮转期间就能工作(Tom Lane)

关联记录 (1)
问题修复修复附加到嵌套集合操作(UNION/INTERSECT/EXCEPT)上的 WITH

变更

修复附加到嵌套集合操作(UNION/INTERSECT/EXCEPT)上的 WITH(Tom Lane)

关联记录 (1)
改进确保对子查询的整行引用不包含任何多余的 GROUP BY 或 ORDER BY 列

变更

确保对子查询的整行引用不包含任何多余的 GROUP BY 或 ORDER BY 列(Tom Lane)

关联记录 (1)
改进禁止在 CREATE TABLE 期间复制 CHECK 约束和索引定义中的整行引用

变更

禁止在 CREATE TABLE 期间复制 CHECK 约束和索引定义中的整行引用(Tom Lane)

这种情况可能出现在带 LIKE 或 INHERITS 的 CREATE TABLE 中。被复制的整行变量被错误地标记为原表而不是新表的行类型。对 LIKE 拒绝这种情况似乎是合理的,因为行类型之后很可能分化。对 INHERITS,理想情况下应该允许它,并隐式强制转换为父表的行类型;但这需要的工作量超出了回移植的安全范围。

关联记录 (1)
问题修复修复 ARRAY(SELECT ...) 子查询中的内存泄漏

变更

修复 ARRAY(SELECT ...) 子查询中的内存泄漏(Heikki Linnakangas、Tom Lane)

关联记录 (1)
问题修复修复从正则表达式中提取公共前缀的问题

变更

修复从正则表达式中提取公共前缀的问题(Tom Lane)

代码可能被带量词的带括号子表达式(例如 ^(foo)?bar)混淆。这会导致对此类模式搜索的索引优化不正确。

关联记录 (1)
问题修复修复解析 interval 常量中带符号的 hh:mm 和 hh:mm:ss 字段的缺陷

变更

修复解析 interval 常量中带符号的 hh:mm 和 hh:mm:ss 字段的缺陷(Amit Kapila、Tom Lane)

关联记录 (1)
改进在 PL/Python 中把 Python Unicode 字符串转换为服务器编码时,使用 Postgres 而不是 Python 的编码转换函数

变更

在 PL/Python 中把 Python Unicode 字符串转换为服务器编码时,使用 Postgres 而不是 Python 的编码转换函数(Jan Urbanski)

这避免了一些极端情况的问题,尤其是 Python 并不支持 Postgres 的所有编码。一个显著的功能变化是:如果服务器编码是 SQL_ASCII,你将得到该字符串的 UTF-8 表示;此前字符串中的任何非 ASCII 字符都会导致错误。

关联记录 (1)
问题修复修复 PL/Python 中 PostgreSQL 编码到 Python 编码的映射

变更

修复 PL/Python 中 PostgreSQL 编码到 Python 编码的映射(Jan Urbanski)

关联记录 (1)
改进修复 contrib/xml2 的 xslt_process() 中的错误报告

变更

修复 contrib/xml2 的 xslt_process() 中的错误报告(Tom Lane)

关联记录 (1)
改进把时区数据文件更新为 tzdata 版本 2012e,以反映摩洛哥和托克劳的夏令时法规变更

变更

把时区数据文件更新为 tzdata 版本 2012e,以反映摩洛哥和托克劳的夏令时法规变更

关联记录 (1)
如何生成比较结果?

比较依据起始版本之后至目标版本的 PostgreSQL 发布说明。经核实的回补重复项会谨慎合并,保留每条原始说明;相关提交可能涉及独立变化,仍作为不同记录保留。

发布快照: 2026-09-26 · 安全快照: 2026-09-26

内容来自 PostgreSQL 发布说明。交互方式参考 pgversions.com 与 pgversionreport.