E.186. 版本 8.2.16

E.186.1. 迁移到版本 8.2.16
E.186.2. 修改列表

发布日期:. 2010-03-15

这个版本包含各种自8.2.15以来的修复。关于8.2主版本的新特性信息, 请查看第 E.202 节

E.186.1. 迁移到版本 8.2.16

运行8.2.X的用户不需要转储/恢复。不过,如果你是从一个早于8.2.14的版本升级而来, 那么请查看第 E.188 节

E.186.2. 修改列表

  • 添加新的配置参数ssl_renegotiation_limit, 控制多久为SSL连接做一次会话秘钥协商 (Magnus)

    可以设置为0来完全禁用重新协商,如果使用了一个破损的库的话是需要这样的。 特别的,一些供应商为CVE-2009-3555提供了紧急补丁,引起重新协商的尝试失败。

  • 修复后端启动期间可能的死锁 (Tom)

  • 修复由于relcache重新干净的加载期间没有处理错误引起的可能的崩溃 (Tom)

  • 修复在子事务启动中尝试从一个错误中恢复时可能的崩溃 (Tom)

  • 修复几个与使用保存点和客户端编码与服务器编码不同有关的内存泄露 (Tom)

  • 修复GIST索引页分裂的最后恢复清理期间不正确的WAL数据发出 (Yoichi Hirai)

    这会导致索引损坏,更甚至可能在WAL重放期间的一个错误, 如果我们很不幸的在完成一个不完整的GIST插入之后最后恢复清理期间崩溃。

  • substring()对待所有bit类型的负的长度为 所有剩余的字符串 (Tom)

    以前的代码只以这种方式对待-1,并且会为其他负值产生一个无效的结果值, 可能导致崩溃 (CVE-2010-0442)。

  • 修复整数到位字符串的转换,当输出位的宽度比给出的整数宽,不同于8位的倍数时, 正确的处理第一部分的字节 (Tom)

  • 修复正则表达式匹配病理上缓慢的一些情况 (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)

  • 如果SSL_readSSL_write没有设置errno 而失败,则修复可能的无限循环 (Tom)

    据报道,这在openssl的某些Windows版本中是可能的。

  • 修复psqlnumericlocale选项, 不要格式化不应该是latex和troff输出格式的字符串 (Heikki)

  • ON_ERROR_STOP--single-transaction 都指定了并且一个错误发生在隐含的COMMIT期间时, 让psql返回正确的退出状态(3) (Bruce)

  • 修复一个复合字段设置为NULL情况下的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/xml2中的各种崩溃 (Tom)

  • contrib/xml2的建立在Windows上更加稳健 (Andrew)

  • 修复Windows信号处理中的竞态条件 (Radu Ilie)

    这个错误一个已知的症状是pg_listener中的行在重负载的情况下会被删除。

  • 更新时区数据文件到tzdata版本2010e, 因为DST规律在Bangladesh、Chile、Fiji、Mexico、Paraguay、Samoa发生了改变。