版本 9.0.12

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 附录 E. 版本说明 | 下一页

# E.54. 版本 9.0.12

> 发布日期: 2013-02-07

这个版本包含各种自9.0.11以来的修复。想要获得关于9.0主版本的新特性信息， 请参阅第 E.66 节。

## E.54.1. 迁移到版本 9.0.12

运行9.0.X的系统不需要转储/恢复。

另外，如果你是从一个早于9.0.6的版本升级而来，请参阅第 E.60 节。

## E.54.2. 修改列表

- 阻止SQL执行`enum_recv` (Tom Lane)

  该函数是错误声明的，允许一个简单的SQL命令使服务器崩溃。原则上， 攻击者可以使用它检验服务器内存的内容。感谢Sumit Soni (via Secunia SVCRP) 报告这个问题。 (CVE-2013-0255)

- 修复在WAL回放期间已经达到一个一致的数据库状态时检测的多重问题 (Fujii Masao, Heikki Linnakangas, Simon Riggs, Andres Freund)

- 截断一个关系文件时更新最小的恢复点 (Heikki Linnakangas)

  一旦数据被丢弃，在时间线中的一个较早的点停止恢复已经不再安全。

- 修复热备份模式中丢失的取消 (Noah Misch, Simon Riggs)

  有时会错过取消冲突的热备份查询的需要，此时允许这些查询看到不一致的数据。

- 修复SQL语法允许一个子SELECT结果加下标或字段选择 (Tom Lane)

- 修复繁忙的工作负载中自动清理截断的性能问题 (Jan Wieck)

  在一个表的最后截断空白页需要排他锁，但是当有冲突的锁请求时autovacuum编码失败（并释放表锁）。 负载过轻，很有可能不会发生截断，导致表膨胀。通过执行一个部分的截断，释放该锁， 然后尝试再次请求这个锁并继续来修复这个问题。这个修复也大大的减少了autovacuum 释放该锁之前冲突的锁请求到达之后的平均时间。

- 扫描`pg_tablespace`时防止竞态条件 (Stephen Frost, Tom Lane)

  如果`CREATE DATABASE`和`DROP DATABASE`并发的更新 `pg_tablespace`记录，那么它们可能行为错误。

- 阻止`DROP OWNED`试图删除整个数据库或表空间 (Álvaro Herrera)

  为了安全，这些对象的所有权必须重新分配，而不是抛弃。

- 修复`vacuum_freeze_table_age` 实现中的错误 (Andres Freund)

  在有多于`vacuum_freeze_min_age` 个事务存在的安装中，这个错误阻止使用部分表扫描的autovacuum，所以全表扫描将总是发生。

- 阻止`RowExpr`或`XmlExpr`解析分析两次时的错误行为 (Andres Freund, Tom Lane)

  这个错误在内容中可能是用户可见的，如`CREATE TABLE LIKE INCLUDING INDEXES`。

- 提高哈希表大小计算中的整数溢出防御 (Jeff Davis)

- 拒绝`to_date()`中超出范围的日期 (Hitoshi Harada)

- 确保非ASCII提示字符串在Windows上转化为正确的代码页 (Alexander Law, Noah Misch)

  这个错误影响psql和一些其他客户端程序。

- 修复没有连接到一个数据库时psql的`\?`命令中可能的崩溃 (Meng Qingzhong)

- 修复pg_upgrade安全的处理无效的索引 (Bruce Momjian)

- 修复libpq的`PQprintTuples`中的一个字节缓冲区溢出 (Xi Wang)

  这个古老的函数PostgreSQL本身已经不用了，但是一些客户端代码可能仍然在使用。

- 使ecpglib适当的使用翻译了的信息 (Chen Huajun)

- 在MSVC上适当的安装ecpg_compat和pgtypes (Jiang Guiqing)

- 在libecpg中包括我们的`isinf()`版本， 如果系统没有提供它 (Jiang Guiqing)

- 为提供的函数重新排列配置的测试，这样它不会被来自libedit/libreadline的虚假报告欺骗 (Christoph Berg)

- 确保Windows建立编号在时间上增加 (Magnus Hagander)

- 当在Windows上交叉编译时，使带有正确`.exe`后缀的 pgxs建立可执行 (Zoltan Boszormenyi)

- 添加新的时间戳缩写`FET` (Tom Lane)

  这个现在用于一些东欧时区。

上一页 | 起始页 | 下一页
版本 9.0.13 | 上一级 | 版本 9.0.11