文档版本比较
POSTGRESQL · VERSION COMPARE
PostgreSQL 9.2.3 发布变化
此版本的完整功能、修复与兼容性说明,以及其他版本的关联记录。
包括起始版本之后至目标版本的变化。大版本号表示该分支的首个版本。
从数据库输出识别起始版本
完整发布变化
9.2.3
2013-02-07
9.2.3stable支持截止 2017-11-09
安全变化
| CVE / 问题 | 严重程度 | 修复版本 | 所选版本状态 |
|---|---|---|---|
| CVE-2013-0255 防止从 SQL 执行 enum_recv | 9.2.3 | 已记录修复 |
PostgreSQL 9.2.3
迁移与兼容性
对于运行 9.2.X 的用户,不需要进行转储/恢复。
不过,如果你是从早于 9.2.2 的版本升级,请参见第 E.23 节。
安全防止从 SQL 执行 enum_recv
变更
防止从 SQL 执行 enum_recv(Tom Lane)
该函数声明有误,允许一条简单的 SQL 命令使服务器崩溃。原则上攻击者可能利用它检查服务器内存的内容。感谢 Sumit Soni(通过 Secunia SVCRP)报告此问题。(CVE-2013-0255)
问题修复修复 WAL 重放期间检测何时达到一致数据库状态的多个问题
变更
修复 WAL 重放期间检测何时达到一致数据库状态的多个问题(Fujii Masao、Heikki Linnakangas、Simon Riggs、Andres Freund)
问题修复修复不需要实际重做工作时对备份结束点的检测
变更
修复不需要实际重做工作时对备份结束点的检测(Heikki Linnakangas)
这一失误可能导致错误的“WAL ends before end of online backup”错误。
改进在截断关系文件时更新最小恢复点
变更
在截断关系文件时更新最小恢复点(Heikki Linnakangas)
数据一旦被丢弃,在时间线上更早的点停止恢复就不再安全。
问题修复修复更改恢复目标时间线后 WAL 段的回收问题
变更
修复更改恢复目标时间线后 WAL 段的回收问题(Heikki Linnakangas)
关联记录 (1)
改进在级联备库服务器上正确地从归档恢复时间线历史文件
变更
在级联备库服务器上正确地从归档恢复时间线历史文件(Heikki Linnakangas)
问题修复修复热备服务器上的锁冲突检测
变更
修复热备服务器上的锁冲突检测(Andres Freund、Robert Haas)
问题修复修复热备模式下缺失的取消操作
变更
修复热备模式下缺失的取消操作(Noah Misch、Simon Riggs)
取消冲突热备查询的需要有时会被遗漏,使这些查询看到不一致的数据。
改进防止恢复暂停功能在用户能够连接之前就暂停
问题修复修复 SQL 文法,允许对子 SELECT 结果做下标或字段选择
变更
修复 SQL 文法,允许对子 SELECT 结果做下标或字段选择(Tom Lane)
问题修复修复繁忙负载下自动清理截断的性能问题
变更
修复繁忙负载下自动清理截断的性能问题(Jan Wieck)
截断表末尾的空页需要排他锁,但自动清理被编码为在出现冲突锁请求时失败(并释放表锁)。在负载下,截断很可能永远不会发生,导致表膨胀。修复方法是先执行部分截断,释放锁,然后尝试重新获取锁并继续。此修复还大幅缩短了冲突请求到达后自动清理释放锁的平均时间。
性能改进 SPI_execute 及相关函数的性能,从而改进 PL/pgSQL 的 EXECUTE
变更
改进 SPI_execute 及相关函数的性能,从而改进 PL/pgSQL 的 EXECUTE(Heikki Linnakangas、Tom Lane)
移除 9.2 中因计划缓存机制修改而引入的一些数据复制开销。这消除了相比 9.1 的性能退化,还节省了内存,尤其是当要执行的查询串包含许多 SQL 语句时。
一个附带好处是多语句查询串现在完全串行处理,即我们先完成前面语句的执行,再对后续语句做解析分析和规划。这消除了一个长期存在的问题:本应影响后续语句行为的 DDL 现在会按预期工作。
改进恢复 9.2 之前对索引使用的代价估计
变更
恢复 9.2 之前对索引使用的代价估计(Tom Lane)
一个欠考虑的修正因子变更导致对使用超大索引的代价估计高得离谱。
问题修复修复 DROP INDEX CONCURRENTLY 中的间歇性崩溃
变更
修复 DROP INDEX CONCURRENTLY 中的间歇性崩溃(Tom Lane)
问题修复修复 CREATE/DROP INDEX CONCURRENTLY 期间共享内存锁表可能损坏的问题
变更
修复 CREATE/DROP INDEX CONCURRENTLY 期间共享内存锁表可能损坏的问题(Tom Lane)
问题修复修复 COPY 的多元组插入代码在元组大于页大小减去填充因子时的情况
变更
修复 COPY 的多元组插入代码在元组大于页大小减去填充因子时的情况(Heikki Linnakangas)
先前的代码可能陷入无限循环。
改进防止扫描 pg_tablespace 时的竞态条件
变更
防止扫描 pg_tablespace 时的竞态条件(Stephen Frost、Tom Lane)
如果 pg_tablespace 条目存在并发更新,CREATE DATABASE 和 DROP DATABASE 可能行为异常。
改进防止 DROP OWNED 试图删除整个数据库或表空间
变更
防止 DROP OWNED 试图删除整个数据库或表空间(Álvaro Herrera)
为安全起见,这些对象的所有权必须重新分配,而不是删除。
问题修复修复 vacuum_freeze_table_age 实现中的错误
变更
修复 vacuum_freeze_table_age 实现中的错误(Andres Freund)
在已存在超过 vacuum_freeze_min_age 个事务的安装中,这一失误使自动清理无法使用部分表扫描,而总是进行全表扫描。
改进防止 RowExpr 或 XmlExpr 被二次解析分析时的不当行为
变更
防止 RowExpr 或 XmlExpr 被二次解析分析时的不当行为(Andres Freund、Tom Lane)
这一失误在 CREATE TABLE LIKE INCLUDING INDEXES 等上下文中可能被用户看到。
改进增强对哈希表大小计算中整数溢出的防御
变更
增强对哈希表大小计算中整数溢出的防御(Jeff Davis)
问题修复修复一些与数据类型权限相关的缺陷
变更
修复一些与数据类型权限相关的缺陷(Tom Lane)
类型的默认权限存在一些问题,而且 pg_dump 完全没有转储这类权限。
问题修复修复服务器崩溃后未能忽略遗留临时表的问题
问题修复修复 Windows 上 postmaster 日志文件未能因大小而轮转的问题
变更
修复 Windows 上 postmaster 日志文件未能因大小而轮转的问题(Jeff Janes、Heikki Linnakangas)
改进拒绝 to_date() 中超出范围的日期
变更
拒绝 to_date() 中超出范围的日期(Hitoshi Harada)
问题修复修复 pg_extension_config_dump(),使其正确处理扩展更新情况
变更
修复 pg_extension_config_dump(),使其正确处理扩展更新情况(Tom Lane)
该函数现在会替换目标表的任何现有条目,使其可以在扩展更新脚本中使用。
问题修复修复 PL/pgSQL 对可能简单的表达式中规划期错误的报告
变更
修复 PL/pgSQL 对可能简单的表达式中规划期错误的报告(Tom Lane)
先前的编码有时会遗漏错误 CONTEXT 回溯的第一行。
问题修复修复 PL/Python 对用作多个表上触发器的函数的处理
变更
修复 PL/Python 对用作多个表上触发器的函数的处理(Andres Freund)
关联记录 (1)
问题修复确保在 Windows 上非 ASCII 提示符字符串被转换到正确的代码页
变更
确保在 Windows 上非 ASCII 提示符字符串被转换到正确的代码页(Alexander Law、Noah Misch)
这一缺陷影响 psql 和其他一些客户端程序。
问题修复修复未连接数据库时 psql 的 \? 命令可能崩溃的问题
变更
修复未连接数据库时 psql 的 \? 命令可能崩溃的问题(Meng Qingzhong)
问题修复修复 pg_basebackup 运行期间关系文件被删除时可能出错的问题
变更
修复 pg_basebackup 运行期间关系文件被删除时可能出错的问题(Heikki Linnakangas)
改进让 pg_basebackup -X fetch 在备份备库服务器时容忍时间线切换
变更
让 pg_basebackup -X fetch 在备份备库服务器时容忍时间线切换(Heikki Linnakangas)
改进让 pg_dump 在热备服务器上运行时排除不记录日志的表的数据
变更
让 pg_dump 在热备服务器上运行时排除不记录日志的表的数据(Magnus Hagander)
由于数据在备库服务器上不可用,这本来就会失败,因此最方便的做法似乎是自动假定 --no-unlogged-table-data。
问题修复修复 pg_upgrade,使其安全处理无效索引
变更
修复 pg_upgrade,使其安全处理无效索引(Bruce Momjian)
问题修复修复 pg_upgrade 的 -O/-o 选项
变更
修复 pg_upgrade 的 -O/-o 选项(Marti Raudsepp)
问题修复修复 libpq 的 PQprintTuples 中的一字节缓冲区越界
变更
修复 libpq 的 PQprintTuples 中的一字节缓冲区越界(Xi Wang)
这个古老的函数没有被 PostgreSQL 本身在任何地方使用,但仍可能被某些客户端代码使用。
改进让 ecpglib 正确使用翻译后的消息
变更
让 ecpglib 正确使用翻译后的消息(Chen Huajun)
改进在 MSVC 上正确安装 ecpg_compat 和 pgtypes 库
变更
在 MSVC 上正确安装 ecpg_compat 和 pgtypes 库(Jiang Guiqing)
改进如果系统未提供 isinf(),则在 libecpg 中包含我们自己的版本
变更
如果系统未提供 isinf(),则在 libecpg 中包含我们自己的版本(Jiang Guiqing)
改进重新排列 configure 对系统提供函数的测试,使其不被 libedit/libreadline 的虚假导出所欺骗
变更
重新排列 configure 对系统提供函数的测试,使其不被 libedit/libreadline 的虚假导出所欺骗(Christoph Berg)
改进确保 Windows 构建号随时间递增
变更
确保 Windows 构建号随时间递增(Magnus Hagander)
改进让 pgxs 在为 Windows 交叉编译时以正确的 .exe 后缀构建可执行文件
变更
让 pgxs 在为 Windows 交叉编译时以正确的 .exe 后缀构建可执行文件(Zoltan Boszormenyi)
改进新增时区缩写 FET
变更
新增时区缩写 FET(Tom Lane)
它现在用于一些东欧时区。
关联记录 (2)
没有匹配的变化
尝试其他关键词,或 .
如何生成比较结果?
比较依据起始版本之后至目标版本的 PostgreSQL 发布说明。经核实的回补重复项会谨慎合并,保留每条原始说明;相关提交可能涉及独立变化,仍作为不同记录保留。
发布快照: 2026-09-26 · 安全快照: 2026-09-26
内容来自 PostgreSQL 发布说明。交互方式参考 pgversions.com 与 pgversionreport.