PostgreSQL 9.6.0 手册
| |||
---|---|---|---|
上一页 | 上一级 | 附录 E. 版本说明 | 下一页 |
发布日期: 2009-03-16
这个版本包含各种自8.2.12以来的修复。关于8.2主版本的新特性信息, 请查看第 E.169 节。
运行8.2.X的用户不需要转储/恢复。不过,如果你是从一个早于8.2.11的版本升级而来, 那么请查看第 E.158 节。
当编码转换失败时,阻止错误的递归崩溃 (Tom)
这个修改扩展了在最后两个小版本中为相关的失败情节所做的修复。 以前的修复严格限制在最初的问题报告,但是我们现在意识到编码转换函数抛出的 任何错误会潜在的在尝试报告错误时导致无限的递归。 因此解决方法是在我们发现我们进入一个递归错误报告情况时,禁用翻译和编码转换, 并为任何错误消息报告纯ASCII格式。 (CVE-2009-0922)
为指定的转换函数禁用带有错误编码的CREATE CONVERSION (Heikki)
这阻止了编码转换失败的一个可能的情节。以前的修改是为了防范相同地区的其他类型的失败。
修复给到to_char()
的格式代码不适合数据参数的类型时的内核转储 (Tom)
修复C环境使用多字节编码时contrib/tsearch2中可能的失败 (Teodor)
在wchar_t比int狭窄的平台上有可能会崩溃;尤其是Windows。
修复contrib/tsearch2分析器处理包含多个@ 字符的类似邮箱的字符串时的极端低效 (Heikki)
修复带有隐式强制的CASE WHEN的反编译 (Tom)
当尝试检测或转储一个视图时,这个错误在启用断言的建立中会导致断言失败, 或其他情况下的一个"意外的CASE WHEN子句"错误消息。
修复可能的TOAST表的行类型所有者的错误分配 (Tom)
如果CLUSTER或ALTER 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)