E.11. 发布9.1.8

发布日期: 2013-02-07

此版本包含了9.1.7各种修复。 关于9.1主要版本的新功能的信息, 参阅Section E.19

E.11.1. 迁移到9.1.8

为了运行9.1.X不需要转储/恢复。

然而,如果你是从早于9.1.6的版本上更新,参阅9.1.6发布说明。

E.11.2. 变化

  • 防止来自SQL的enum_recv的执行(Tom Lane)

    该函数被错误声明, 允许简单SQL命令导致服务器崩溃。 原则上攻击者可以使用它检查服务器内存的内容。 我们该感谢Sumit Soni (通过Secunia SVCRP)报告这个问题。(CVE-2013-0255)

  • 当检测WAL回放期间达到一致性数据库状态时,修复多个问题。 (Fujii Masao, Heikki Linnakangas, Simon Riggs, Andres Freund)

  • 当截断关系文件时,更新最小恢复点(Heikki Linnakangas)

    一旦丢弃数据,在时间轴早一点的时候停止恢复不再安全。

  • 在改变恢复目标时间轴后修复WAL段再循环(Heikki Linnakangas)

  • 在热备模式中修复失去的取消(Noah Misch, Simon Riggs)

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

  • 防止用户可以连接之前从暂停中恢复暂停功能(Tom Lane)

  • 修复SQL语法以允许来自子SELECT结果的下标或者字段选择(Tom Lane)

  • 解决繁忙工作负载中自动清理截断的性能问题(Jan Wieck)

    在表格末尾的空白页截断需要排他锁, 但自动清理编码失败(并且释放表锁) 当有冲突的锁请求时,在负载下, 很可能截断永远都不会发生,导致表的膨胀。 通过执行局部截断进行修复,释放锁,然后 试图重新获取锁并且继续。 该修复在自动清理释放锁之前冲突请求到达之后将大大 减少平均时间。

  • 当扫描pg_tablespace的时候, 防止竞争条件(Stephen Frost, Tom Lane)

    如果有pg_tablespace项的并发更新, 那么CREATE DATABASEDROP DATABASE 可能行为不当。

  • 防止DROP OWNED试图删除整个数据库或者表空间(Álvaro Herrera)

    为了安全起见, 这些对象的所有权必须被重新分配,而不是删除。

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

    在安装中不只存在 vacuum_freeze_min_age事务, 这个错误防止自动清理使用部分表扫描, 因此相反可能会发生全表扫描。

  • RowExpr或者XmlExpr被解析两次时, 避免不当行为(Andres Freund, Tom Lane)

    这个错误在上下文中是用户可见的, 比如CREATE TABLE LIKE INCLUDING INDEXES

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

  • 在服务器崩溃之后修复忽略剩余临时表错误(Tom Lane)

  • 拒绝to_date()中超期范围日期(Hitoshi Harada)

  • 修复pg_extension_config_dump()以适当处理扩展更新情况(Tom Lane)

    这个函数现在将取代目标表的任何已经存在项, 使它可以用于扩展更新脚本。

  • 修复函数的PL/Python的处理作为多表上的触发器(Andres Freund)

  • 确保非ASCII提示符字符串被翻译成Windows上正确代码页(Alexander Law, Noah Misch)

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

  • 当不连接数据库时, 修复psql's \?命令中可能的崩溃(Meng Qingzhong)

  • 当正在运行pg_basebackup时, 如果删除关系文件,那么修复可能的错误(Heikki Linnakangas)

  • 当在热备份服务器上运行时,使得pg_dump 排除未记录表的数据(Magnus Hagander)

    因为数据在备用服务器上是不可用的,这可能会失败, 因此它似乎认为最方便的是自动假设--no-unlogged-table-data

  • 修复pg_upgrade以安全处理无效索引(Bruce Momjian)

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

    这个以往的函数 不再通过PostgreSQL自身被用于任何地方, 但是它仍然可能通过一些客户端代码被使用。

  • 使得ecpglib正确使用已翻译信息(Chen Huajun)

  • 在MSVC上正确安装ecpg_compat和 pgtypes库(Jiang Guiqing)

  • 如果它不是通过系统提供的, 那么在libecpg中 包含isinf()版本(Jiang Guiqing)

  • 重新配置已提供函数的配置测试, 因此它不会被libedit/libreadline假输出蒙骗。

  • 确保随时间变化增加的Windows编译数(Magnus Hagander)

  • 当为Windows交叉编译时, 使pgxs编译带有正确.exe 后缀的可执行文件(Zoltan Boszormenyi)

  • 添加新的时区缩写FET (Tom Lane)

    这用于一些东欧时区。