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

# E.103. 发布8.3.10

> 发布日期: 2010-03-15

该发布包含来自8.3.9的各种修复。关于8.3主要发布中新特性信息， 参阅第 E.113 节。

## E.103.1. 迁移到版本8.3.10

运行8.3.X不需要备份/恢复。然而，如果从8.3.8更早版本更新， 参阅8.3.8发布说明。

## E.103.2. 变化

- 添加新的配置参数`ssl_renegotiation_limit` 以控制多久为SSL连接执行会话密钥协商(Magnus)

  这可以被设置为零，以完全禁用重新协商，如果使用损坏的SSL库，这可能是必需的。 特别是，一些供应商为CVE-2009-3555导致谈判尝试失败传输临时补丁。

- 在后台启动期间修复可能死锁(Tom)

- 由于relcache重新载入期间不完全处理错误，那么修复可能崩溃(Tom)

- 由于悬空指针用于缓存计划中，修复可能崩溃(Tatsuo)

- 当试图从子事务启动中故障恢复的时候，修复可能崩溃(Tom)

- 修复与使用保存点和不同于服务器编码的客户端编码相关的服务器内存泄漏(Tom)

- 修复GIST索引页拆分的结束恢复清理过程中发出的不正确WAL数据(Yoichi Hirai)

  如果在已经完成一个不完整GIST插入后结束恢复清理期间不够幸运而发生崩溃， 这可能导致索引损坏，甚至更可能发生WAL回放期间的错误。

- 为`bit`类型采用`substring()`将任何负长度看作"所有其余字符串" (Tom)

  之前代码可以那样处理-1，并且为其它负数值产生无效结果值， 可能导致崩溃(CVE-2010-0442)。

- 当输出比特宽度大于不同于8位倍数的其它给定整数的时候， 修复整数到比特字符串转换以正确处理第一个分数字节(Tom)

- 修复异常缓慢正则表达式匹配的一些情况(Tom)

- 修复通过内存管理引起的`xml`处理中各种崩溃(Tom)

  有首次应用在8.4中变化的备份补丁。 8.3的代码是有问题的，但新的代码与不想要备份补丁完全不同， 直到它已经获得一些现场测试。

- 修复试图更新复合类型数组列元素的字段中的错误(Tom)

- 当结束位置正好在段边界的时候，修复备份历史文件中`STOP WAL LOCATION`项 用来报告下一个WAL段名字(Itagaki Takahiro)

- 修复临时文件泄露的一些情况(Heikki)

  这纠正了之前次要版本中引入的一个问题。 失败的情况是当在另一个函数的异常处理程序中调用plpgsql函数返回集的时候。

- 完善布尔变量情况下约束排除处理， 特别是有可能排除具有"bool_column = false"约束的一个分区(Tom)

- 当读取`pg_hba.conf`和相关文件的时候，不要将`@something`看作为 文件包含请求，如果`@`出现在引号标记内； 另外，也不要把`@`本身看作为文件包含请求(Tom)

  如果角色或者数据库名字以`@`开头，那么避免不稳定操作。 如果你需要包含一个路径名有空格的文件，那么你仍然可以这样做。但是你必须 书写`@"/path to/file"`而不是将引号放在整个结构周围。

- 如果该目录被命名为`pg_hba.conf`和相关文件中包含目标，那么 避免一些平台上无限循环(Tom)

- 如果没有设置`errno`而`SSL_read`或者`SSL_write`失败，那么修复可能的无限循环(Tom)

  据说这是openssl的一些Windows版本。

- 不允许本地连接中GSSAPI认证，因为它需要hostname可以正常起作用(Magnus)

- 如果断开连接，那么使用ecpg报告适当的SQLSTATE (Michael)

- 修复psql的`numericlocale`选项而不格式化字符串， 它不应该是latex和troff输出格式(Heikki)

- 当指定`ON_ERROR_STOP`和`--single-transaction`以及隐含`COMMIT`期间的错误的时候， 使用psql返回正确退出状态(3) (Bruce)

- 当复合列被设置为空的时候，修复这种情况下plpgsql错误(Tom)

- 当从PL/PerlU中调用PL/Perl函数或者反之亦然，修复可能错误(Tim Bunce)

- 在PL/Python中添加`volatile`标记以避免可能指定编译器错误操作(Zdenek Kotala)

- 确保PL/Tcl完全初始化Tcl解析器(Tom)

  如果使用Tcl 8.5或者更高版本，这种疏忽的唯一症状是Tcl `clock`命令误操作。

- 当许多关键列被指定为`dblink_build_sql_*`函数的时候，避免`contrib/dblink`中崩溃(Rushabh Lathia, Joe Conway)

- 允许`contrib/ltree`操作符中零维数组(Tom)

  这种情况之前作为错误被拒绝，但它更方便地 把它看作同一个零元素数组。 特别是，当`ltree`操作被施加给`ARRAY(SELECT ...)`结果， 并且子选择不会返回行，这避免了不必要的错误。

- 修复通过内存管理引起的`contrib/xml2`中各种崩溃(Tom)

- 使得`contrib/xml2`在Windows上编译更加鲁棒性(Andrew)

- 修复Windows信号处理中竞争条件(Radu Ilie)

  该错误一个显著现象是`pg_listener`中的行在重负载情况下已经被删除。

- 为Bangladesh, Chile, Fiji, Mexico, Paraguay, Samoa中DST变化更新时区数据文件到tzdata发布2010e。

上一页 | 起始页 | 下一页
发布8.3.11 | 上一级 | 发布8.3.9