PostgreSQL 9.6.0 手册 | |||
---|---|---|---|
上一页 | 上一级 | 附录 E. 版本说明 | 下一页 |
E.172. 版本 8.1.21
发布日期: 2010-05-17
这个版本包含各种自8.1.20以来的修复。关于8.1主版本的新特性信息, 请查看第 E.193 节。
E.172.1. 迁移到版本 8.1.21
运行8.1.X的用户不需要转储/恢复。不过,如果你是从一个早于8.1.18的版本升级而来, 那么请查看第 E.175 节。
E.172.2. 修改列表
-
使用一个开放标记应用到整个解释器强制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是被超级用户拥有。(不过, 该表上的权限是不检查的,所以实际上需要较小安全模块的表的 安装仍然可以赋予合适的权限到受信任的非超级用户。) 另外,阻止加载代码到不受限制的"普通"Tcl解释器中, 除非我们真的要执行一个pltclu函数。 (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)
-
当扩展一个引用本身的变量时,阻止psql中的无限递归 (Tom)
-
确保contrib/pgstattuple函数迅速的响应取消中断 (Tatsuhito Kasahara)
-
让服务器启动正确的处理
shmget()
为一个现有的共享内存段返回 EINVAL的情况 (Tom)这个行为在BSD驱动的内核上,包括OS X,已经被观察到了。 它导致一个完全误导的启动失败抱怨共享内存请求尺寸太大。
-
更新时区数据文件到tzdata版本2010j, 因为DST规律在Argentina、Australian Antarctic、Bangladesh、Mexico、Morocco、 Pakistan、Palestine、Russia、Syria、Tunisia已经发生了改变; 还为Taiwan做了历史纠正。