发布日期:. 2011-09-26
该发布包含来自8.4.8的各种修复。关于8.4主要发布的新功能的信息, 参阅第 E.154 节。
修复存在问题的热更新元组的索引错误(Tom Lane)
这些错误可以导致重新索引系统目录后索引崩溃。 他们不认为会影响用户索引。
修复GiST索引页分裂处理的多个错误(Heikki Linnakangas)
发生的概率是很低的,但是可以导致索引失败。
修复tsvector_concat()
中可能的缓冲区溢出(Tom Lane)
该函数低估它的结果所需要的内存量,导致服务器崩溃。
当处理“standalone”参数时,修复xml_recv
中崩溃(Tom Lane)
使得pg_options_to_table
为没有值的选项返回NULL(Tom Lane)
以前这种情况可以导致服务器崩溃。
避免在ANALYZE
和SJIS-2004编码转换中可能访问内存结尾(Noah Misch)
这修复了一些概率很低的服务器崩溃情况。
防止间歇性挂在启动进程和bgwriter进程的相互作用中(Simon Riggs)
这影响了在非热备份情况中的恢复。
修复relcache初始文件失效的竞态条件(Tom Lane)
有一个Window,其中新的后台进程可以读一个陈旧的初始化文件, 但是忽略了告知它的数据是陈旧的无效消息。 其结果在目录访问中是奇怪的错误,通常在启动之后 “无法读取文件中块0...”。
修复在GiST索引扫描结尾的内存泄露(Tom Lane)
执行许多单独GiST索引扫描的命令, 比如包含很多行的表上新的基于排斥约束的GiST验证, 由于这种泄露可能短暂地需要大量内存。
修复元组存储可支持游标以及
plpgsql的RETURN NEXT
命令中不正确的内存计算(可能导致内存膨胀)(Tom Lane)
当建立一个大的,有损耗的位图时,修复性能问题(Tom Lane)
修复唯一列的连接选择性估计(Tom Lane)
这修复了可以导致连接结果大小的较差估计的错误的规划器探试。
修复只出现在子select目标列中的嵌套PlaceHolderVar表达式(Tom Lane)
这个错误可以导致错误的出现空的外部连接的输出。
运行正确优化的嵌套的EXISTS
查询(Tom Lane)
修复数组和路径创建函数确保填充字节为零(Tom Lane)
这避免了规划器认为语义上相同的常数是不相等的一种情况,导致低劣的优化。
修复EXPLAIN
以处理内部索引扫描子规划中控制结果节点(Tom Lane)
这种忽视的通常状况是“bogus varno”错误。
解决了打破WAL回放的gcc 4.6.0错误(Tom Lane)
这可能会导致服务器崩溃后已提交事务损失。
修复视图中VALUES
备份错误(Tom Lane)
不允许序列上SELECT FOR UPDATE/SHARE
(Tom Lane)
该操作不按预期运行并且导致错误。
修复VACUUM
所以它总是更新pg_class
.reltuples
/relpages
(Tom Lane)
这将修复对于当vacuum表的时候autovacuum可能会越来越差的一些情况。
当计算哈希表大小时,防止整数溢出(Tom Lane)
修复CLUSTER
可能尝试访问已删除TOAST数据(Tom Lane)
修复为“peer”认证使用凭证控制消息的可能错误(Tom Lane)
当需要多次往返时,修复SSPI登录(Ahmed Shinwari,Magnus Hagander)
这个问题典型症状是在SSPI登录期间“不支持该函数请求”错误。
如果pg_hba.conf
包含hostssl
,但是
SSL被禁用,抛出错误(Tom Lane)
这一结论比默默忽略这些行的先前操作更加人性化。
修复pg_srand48
起源初始化中的typo (Andres Freund)
这导致错误使用已提供的种子的所有位。
在大多数平台上不使用这个功能(只有那些没有srandom
的),
以及来自任何情况下比预期更少随机种子似乎最小的潜在安全隐患。
当LIMIT
和OFFSET
总数值超过2^63的时候,
避免整数溢出(Heikki Linnakangas)
添加溢出检查到generate_series()
的int4
和int8
版本(Robert Haas)
修复to_char()
中尾随零删除(Marti Raudsepp)
带有FM
的格式,并且小数点后没有数字位置中,
小数点左边的零可能被错误地删除。
修复pg_size_pretty()
以避免接近2^63的输入溢出(Tom Lane)
削弱记录值中typmod匹配的plpgsql检查(Tom Lane)
一个过分热情检查可能导致丢弃一直保持的长度修饰符。
正确处理initdb期间的区域名的引用(Heikki Linnakangas)
这种情况可以产生一些Windows区域,比如“中华人民共和国”。
从8.3更新期间修复pg_upgrade保存toast表的relfrozenxid (Bruce Momjian)
如果不这样做可能导致pg_clog
文件升级后很快被删除。
在pg_ctl中, 支持Windows上服务注册静止模式(MauMau)
修复从不同文件COPY
时脚本文件行数的psql计数(Tom Lane)
为standard_conforming_strings
修复
pg_restore的直接到数据库模式(Tom Lane)
当从standard_conforming_strings
设置为on
的归档文件中直接恢复
到数据库服务器时,pg_restore可以发出错误命令。
关于平行的pg_restore不支持情况用户界面友好(Tom Lane)
该变化确保了在采取的任何恢复操作之前这种情况被检测和报告。
修复写入超越缓冲区末尾以及在libpq的LDAP服务查找代码中的内存泄漏(Albe Laurenz)
在libpq中,当使用非阻塞I/O和SSL连接时避免错误(Martin Pihlak, Tom Lane)
连接启动时提高libpq的错误处理(Tom Lane)
特别是,在SSL连接启动时fork()
错误的服务器报告
的反应是明智的。
提高SSL故障libpq的错误报告(Tom Lane)
当添加新元组到最初从服务器查询获得的PGresult
时,
修复PQsetvalue()
避免可能崩溃(Andrew Chernow)
使得ecpglib写入带有15位数字精度的double
值(Akira Kurosawa)
在ecpglib中,确保错误之后恢复LC_NUMERIC
设置(Michael Meskes)
提供上游修复加密的符号字符错误(CVE-2011-2483)(Tom Lane)
contrib/pg_crypto
的加密代码可以在
字符是有符号的(这是大多数)平台上提供错误结果,导致加密密码比它们所应该的更弱。
修复contrib/seg
中的内存泄露(Heikki Linnakangas)
修复pgstatindex()
为空索引提供一致结果(Tom Lane)
允许编译 perl 5.14 (Alex Hunsaker)
为探测系统函数的存在更新配置脚本方法(Tom Lane)
在8.3和8.2中使用的autoconf的版本可能被执行链接时优化的编译器愚弄。
修复包含空格的编译安装文件路径的相关问题(Tom Lane)
更新时区数据文件到为Canada, Egypt, Russia, Samoa和South Sudan中的DST变化规律的tzdata发布2011i。