pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
2010-05-17
本次发布包含对 7.4.28 的多方面修复。有关 7.4 大版本中新特性的信息,请参见 第 E.202 节。.
PostgreSQL 社区将于 2010 年 7 月停止对 7.4.X 版本系列的更新。建议用户尽快更新到较新的版本分支。
对于运行 7.4.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 7.4.26 的版本升级,请参阅 第 E.176 节。
用应用于整个解释器的操作码掩码来强制 plperl 中的限制,而不是使用 Safe.pm(Tim Bunce、Andrew Dunstan)
近期的事态发展使我们确信 Safe.pm 太不安全,不能依靠它使 plperl 可信。此变更完全移除了对 Safe.pm 的使用,改为使用始终应用操作码掩码的独立解释器。此变更的良好副作用包括:现在可以在 plperl 中以自然的方式使用 Perl 的 strict 编译指令,Perl 的 $a 和 $b 变量在排序例程中按预期工作,以及函数编译显著加快。(CVE-2010-1169)
防止 PL/Tcl 执行来自 pltcl_modules 的不可信代码(Tom)
PL/Tcl 从数据库表自动装载 Tcl 代码的特性可能被利用于特洛伊木马攻击,因为对谁能创建该表或向其中插入没有限制。此变更禁用该特性,除非 pltcl_modules 由超级用户拥有。(但是,不检查该表上的权限,因此确实需要较不安全的模块表的安装仍可以向受信任的非超级用户授予适当权限。)此外,除非确实要执行 pltclu 函数,否则防止把代码装载到无限制的“普通”Tcl 解释器中。(CVE-2010-1170)
不允许非特权用户重置仅超级用户可用的参数设置(Alvaro)
此前,如果非特权用户为自己运行 ALTER USER ... RESET ALL,或为他拥有的数据库运行 ALTER DATABASE ... RESET ALL,这将移除该用户或数据库的所有特殊参数设置,包括本应只可由超级用户更改的那些。现在,ALTER 只移除用户有权更改的参数。
避免后端关闭发生在需要向日志条目添加 CONTEXT 内容时导致可能的崩溃(Tom)
某些情况下上下文打印函数会失败,因为到打印日志消息时当前事务已被回滚。
为现代 Perl 版本更新 pl/perl 的 ppport.h(Andrew)
修复 pl/python 中的若干内存泄漏(Andreas Freund、Tom)
确保 contrib/pgstattuple 函数及时响应取消中断(Tatsuhito Kasahara)
让服务器启动正确处理 shmget() 对已存在的共享内存段返回 EINVAL 的情形(Tom)
此行为曾在包括 OS X 在内的 BSD 衍生内核上观察到。它导致完全误导性的启动失败,抱怨共享内存请求大小过大。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。