🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# E.108\. 版本 8.1.17 > **发布日期:** 2009-03-16 这个版本包含各种自8.1.16以来的修复。关于8.1主版本的新特性信息, 请查看[Section E.125](#calibre_link-247)。 ## E.108.1\. 迁移到版本 8.1.17 运行8.1.X的用户不需要转储/恢复。不过, 如果你是从一个早于8.1.15的版本升级而来,那么请查看8.1.15的版本声明。 ## E.108.2\. 修改列表 * 当编码转换失败时,阻止错误递归崩溃 (Tom) 这个修改扩展了在最后两个小版本中对相关失败情节的修复。 以前的修复严格限制在原始的问题报告,但是我们现在意识到被编码转换函数抛出的 _任何_错误都潜在的导致在尝试报告该错误时无限的递归。 因此如果我们发现我们已经进入了一个递归错误报告的情节中, 解决方法是禁用翻译和编码转换,并且报告任何错误消息的纯ASCII格式。 (CVE-2009-0922) * 不允许`CREATE CONVERSION`为指定的转换函数使用错误的编码 (Heikki) 这阻止了编码转换失败的一种可能的情况。以前的修改是防范了相同区域中的其他类型的失败。 * 修复给定`to_char()`的格式化代码不适合数据参数的类型时的内核转储 (Tom) * 修复`CASE WHEN`带有隐式强制时的反编译 (Tom) 在尝试检查或转储一个视图时,这个错误在启用断言的建立中会导致断言失败, 或在其他情况下的一个"意外的CASE WHEN子句"错误消息。 * 修复TOAST表行类型的所有者的可能的错误分配 (Tom) 如果`CLUSTER`或者`ALTER TABLE`的一个重写变体被表所有者之外的其他人执行, 该表的TOAST表的`pg_type`项将被标记为属于这个其他人而结束。 这没有造成直接问题,因为TOAST行类型的权限不被任何普通数据库操作检查。 不过,如果一个人稍后尝试删除发出该命令的角色(在8.1或8.2中),它会导致意外的失败, 或者pg_dump稍后也这样做时,导致"数据类型的所有者看起来无效" 的警告(在8.3中)。 * 在块退出时完全清理PL/pgSQL的错误状态变量 (Ashesh Vashi and Dave Page) 这对于PL/pgSQL本身来说不是一个问题,但是当检测一个函数的状态时,疏忽会导致PL/pgSQL调试器崩溃。 * 添加`MUST` (Mauritius Island Summer Time)到已知时区缩写的缺省列表 (Xavier Bugaud)