9.3 9.4 9.5 9.6 10 11 12
阿里云PostgreSQL 问题报告 纠错本页面

E.189. 版本 8.2.13

E.189.1. 迁移到版本 8.2.13
E.189.2. 修改列表

发布日期:. 2009-03-16

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

E.189.1. 迁移到版本 8.2.13

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

E.189.2. 修改列表

  • 当编码转换失败时,阻止错误的递归崩溃 (Tom)

    这个修改扩展了在最后两个小版本中为相关的失败情节所做的修复。 以前的修复严格限制在最初的问题报告,但是我们现在意识到编码转换函数抛出的 任何错误会潜在的在尝试报告错误时导致无限的递归。 因此解决方法是在我们发现我们进入一个递归错误报告情况时,禁用翻译和编码转换, 并为任何错误消息报告纯ASCII格式。 (CVE-2009-0922)

  • 为指定的转换函数禁用带有错误编码的CREATE CONVERSION (Heikki)

    这阻止了编码转换失败的一个可能的情节。以前的修改是为了防范相同地区的其他类型的失败。

  • 修复给到to_char()的格式代码不适合数据参数的类型时的内核转储 (Tom)

  • 修复C环境使用多字节编码时contrib/tsearch2中可能的失败 (Teodor)

    wchar_tint狭窄的平台上有可能会崩溃;尤其是Windows。

  • 修复contrib/tsearch2分析器处理包含多个@ 字符的类似邮箱的字符串时的极端低效 (Heikki)

  • 修复带有隐式强制的CASE WHEN的反编译 (Tom)

    当尝试检测或转储一个视图时,这个错误在启用断言的建立中会导致断言失败, 或其他情况下的一个意外的CASE WHEN子句错误消息。

  • 修复可能的TOAST表的行类型所有者的错误分配 (Tom)

    如果CLUSTERALTER TABLE的一个重写变体被除表所有者之外的一个人执行, 那么该表的TOAST表的pg_type项将被标记为这个人所有而结束。 这没有造成直接的问题,因为TOAST行类型上的权限不是被任何普通数据库操作检测的。 不过,如果一个人稍后尝试删除发出该命令的角色,那么它会导致意外的失败(在8.1或8.2中), 或在这样做后来自pg_dump数据类型的所有者看起来无效 警告(在8.3中)。

  • 修复PL/pgSQL,不要将字符串中任何地方的INSERT之后的INTO 看做INTO变量子句,不只是在字符串开头的位置;特别的,不要在CREATE RULE 中的INSERT INTO处失败 (Tom)

  • 在块完全退出时清理PL/pgSQL的错误状态变量 (Ashesh Vashi 和 Dave Page)

    这对于PL/pgSQL本身来说不是什么问题, 但是该疏忽会引起PL/pgSQL调试器在检测一个函数的状态时崩溃。

  • 在Windows上重试到CallNamedPipe()的失败的调用 (Steve Marshall, Magnus)

    看起来这个函数有时会有暂时性的失败;我们以前将任何失败看做系统错误, 这会混淆LISTEN/NOTIFY和其他操作。

  • 添加MUST (Mauritius Island Summer Time) 到已知的时区缩写的缺省列表 (Xavier Bugaud)