E.75. 发布8.3.2
发布日期: 从未公布
该发布中包含8.3.1中各种修复。关于8.3主要发布中新特性信息, 参阅Section E.77。
E.75.1. 迁移到版本8.3.2
运行8.3.X不需要备份/恢复。然而,如果从8.3.1更早版本更新,参阅 8.3.1发布说明。
E.75.2. 变化
当使用UTF-8数据库编码和不同客户端编码的时候,修复在Windows上发生的
ERRORDATA_STACK_SIZE exceeded
崩溃(Tom)为
recovery_command
参数中%r
宏修复不正确 归档截断点计算(Simon)如果热备份脚本依赖于
%r
决定何时丢弃WAL分段文件, 这可能导致数据丢失。修复
ALTER TABLE ADD COLUMN ... PRIMARY KEY
,使得新列被正确检查以查看 它是否被初始化为所有非空(Brendan Jurd)之前版本忽略检查这项需求。
修复
REASSIGN OWNED
以致于工作于程序语言(Alvaro)修复在非
SELECT
顶级操作查询中SELECT FOR UPDATE/SHARE
作为子查询出现的问题(Tom)当从同一个祖先中继承约束的多个父关系中继承"同一"约束的时候, 修复可能的
CREATE TABLE
错误(Tom)修复
pg_get_ruledef()
以显示别名, 如果存在,附加到UPDATE
或者DELETE
的目标表中(Tom)恢复之前8.3操作TID用在一个TidScan规划结果中静默地不匹配任何行中的范围外块号(Tom)
8.3.0和8.3.1相反抛出一个错误。
修复可能导致
许多LWLocks
失败的GIN错误(Teodor)为
tsquery
修复受损GiST比较函数(Teodor)修复
tsvector_update_trigger()
和ts_stat()
用来接受超出它们期望类型域(Tom)修复故障以支持枚举数据类型作为外键(Tom)
当解压损坏的数据时,避免可能崩溃(Zdenek Kotala)
修复在延迟断开和
DROP DATABASE
之间竞态条件(Heikki)在最坏的情况下,这可能会导致在一个新的数据库删除新创建的表中, 获得相同OID作为最近删除的; 但当然这是非常小概率情况。
修复后端的SIGTERM退出可能遗留在共享内存中损坏状态中的两个地方(Tom)
两种情况都不是很重要,如果SIGTERM用于关闭整个数据库集群, 但是如果尝试SIGTERM个人后端,可能有问题。
修复可能的崩溃,由于当
_x_
和_y_
具有不同的数据类型的时候, 不正确规划引起_x_
IN (SELECT_y_
FROM ...)子句。 当从_y_
的类型转换为_x_
的类型有损耗时, 确保该操作是语义正确的。修复疏忽,避免规划器替代已知的Param值好像它们是常数(Tom)
这个错误部分禁用8.3.0和8.3.1中未命名扩展查询语句优化: 特别是如果LIKE模式作为参数被传递,那么LIKE到索引扫描优化将永远不会被应用, 并且取决于参数值的约束排除也不能正常运行。
当可索引的
MIN
或者MAX
聚集用于DISTINCT
或者ORDER BY
的时候,修复规划器错误(Tom)修复规划器以确保它为了正提供排序节点的规划节点从来不使用"physical tlist"(Tom)
这导致排序摆布比实际需要的更多数据, 因为未使用列值被包含在排序数据中。
避免查询字符串的不必要拷贝(Tom)
当许多命令作为单一查询字符串被提交的时候,修复了8.3.0中介绍的性能问题。
当检查子事务XID的时候,使得
TransactionIdIsCurrentTransactionId()
使用 二进制搜索而不是线性搜索(Heikki)这修复了8.3.0中比之前版本显著缓慢的情况。
修复ISO-8859-5和其它编码之间转换用来处理Cyrillic "Yo"字符 (使用两个点的
e
和E
) (Sergey Burladyan)修复一些数据类型输入函数,尤其是
array_in()
,被允许结果中未使用字节包含 未初始化,不可预测的值(Tom)这可能导致错误,其中两个似乎相同文本值被认为不相同,导致解析器抗议 不匹配的
ORDER BY
和DISTINCT
表达式。修复正则表达式子字符串匹配的情况(
substring(``_string_
来自_pattern_
)) (Tom)当有一个匹配模式整体,但用户指定括号子表达式, 并且子表达式还没有得到匹配。那么出现问题, 一个例子是
substring('foo' from 'foo(bar)?')
。 这应该返回NULL,因为(bar)
不匹配,但 它错误地返回全模式匹配(即foo
)。阻止发动自动清理防止XID重叠的取消(Alvaro)
完善未确定元组的
ANALYZE
的处理(通过尚未提交的事务插入或者删除),以使 它报告给统计收集器的数量可能是正确的(Pavan Deolasee)修复initdb拒绝
--xlogdir
(-X
)选项的相对路径(Tom)采用psql输出标签字符作为适当空间数, 而不是8.3.0和8.3.1中执行的
\x09
(Bruce)更新时区数据文件到tzdata发布2008c (为Morocco, Iraq, Choibalsan, Pakistan, Syria, Cuba和Argentina/San_Luis中DST变化)
添加
ECPGget_PGconn()
函数到ecpglib (Michael)修复来自ecpg的
PGTYPEStimestamp_sub()
函数不正确结果(Michael)修复ecpg中连续行标记的处理(Michael)
修复
contrib/cube
函数中可能的崩溃(Tom)当输入查询返回NULL值的时候,修复
contrib/xml2
的xpath_table()
函数中核心转储(Tom)修复
contrib/xml2
的makefile而不覆盖CFLAGS
, 并且为libxslt存在或者不存在使其自动配置(Tom)