选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.0 已于 2015 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页

E.69. 版本 8.3.2 #

发行日期

从未发布

本次发布包含对 8.3.1 的多方面修复。有关 8.3 大版本中新特性的信息,请参见 第 E.71 节。.

E.69.1. 迁移到版本 8.3.2

对于运行 8.3.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.3.1 的版本升级,请参阅 第 E.70 节

E.69.2. 变更

  • 修复在 Windows 上使用 UTF-8 数据库编码和不同客户端编码时发生的 ERRORDATA_STACK_SIZE exceeded 崩溃(Tom)

  • 修复 recovery_command 参数中 %r 宏的归档截断点计算错误(Simon)

    如果热备脚本依赖 %r 决定何时丢弃 WAL 段文件,这可能导致数据丢失。

  • 修复 ALTER TABLE ADD COLUMN ... PRIMARY KEY,使新列被正确检查是否已全部初始化为非空(Brendan Jurd)

    以前的版本完全忽略了对这一要求的检查。

  • 修复 REASSIGN OWNED,使其也适用于过程语言(Alvaro)

  • 修复 SELECT FOR UPDATE/SHARE 作为顶层操作非 SELECT 的查询中的子查询时的问题(Tom)

  • 修复从多个都继承自共同祖先的父关系继承同一约束时 CREATE TABLE 可能失败的问题(Tom)

  • 修复 pg_get_ruledef(),显示 UPDATEDELETE 目标表上附加的别名(如果有)(Tom)

  • 恢复 8.3 之前的行为:TidScan 计划中使用的 TID 的块号超出范围时静默不匹配任何行(Tom)

    8.3.0 和 8.3.1 改为抛出错误。

  • 修复可能导致 too many LWLocks taken 失败的 GIN 缺陷(Teodor)

  • 修复 tsquery 损坏的 GiST 比较函数(Teodor)

  • 修复 tsvector_update_trigger()ts_stat(),使其接受其预期工作类型之上的域(Tom)

  • 修复不支持枚举数据类型作为外键的问题(Tom)

  • 避免解压损坏数据时可能的崩溃(Zdenek Kotala)

  • 修复延迟取消链接与 DROP DATABASE 之间的竞态条件(Heikki)

    最坏情况下这可能导致删除新数据库中恰好获得与最近删除的表相同 OID 的新建表;当然这是概率极低的情形。

  • 修复两处后端 SIGTERM 退出可能在共享内存中留下损坏状态的地方(Tom)

    如果 SIGTERM 用于一起关闭整个数据库集群,这两种情形都不太重要,但如果有人试图对单个后端发 SIGTERM,就有问题。

  • 修复当 xy 数据类型不同时为 x IN (SELECT y FROM ...) 子句生成的错误计划可能导致的崩溃;并确保从 y 的类型到 x 的转换有损时行为在语义上正确(Tom)

  • 修复阻止规划器把已知 Param 值当作常数替换的疏漏(Tom)

    此错误部分禁用了 8.3.0 和 8.3.1 中未命名扩展查询语句的优化:特别是 LIKE 模式作为参数传递时 LIKE 到索引扫描的优化永远不会被应用,依赖参数值的约束排除也不起作用。

  • 修复可索引的 MINMAX 聚合与 DISTINCTORDER BY 一起使用时规划器失败的问题(Tom)

  • 修复规划器,确保它从不对向 Sort 节点供数据的计划节点使用物理 tlist(Tom)

    这导致排序不得不搬运比实际需要更多的数据,因为未使用的列值被包含在排序数据中。

  • 避免不必要的查询字符串复制(Tom)

    这修复了 8.3.0 中引入的当大量命令作为单个查询字符串提交时的性能问题。

  • TransactionIdIsCurrentTransactionId() 在检查子事务 XID 时使用二分搜索而不是线性搜索(Heikki)

    这修复了 8.3.0 在某些情形下明显慢于早期版本的问题。

  • 修复 ISO-8859-5 与其他编码之间的转换对西里尔Yo字符(带两个点的 eE)的处理(Sergey Burladyan)

  • 修复几个数据类型输入函数(特别是 array_in()),它们允许结果中未使用的字节包含未初始化的不可预测值(Tom)

    这可能导致两个看起来相同的字面值不被视为相等的失败,导致解析器抱怨 ORDER BYDISTINCT 表达式不匹配。

  • 修复正则表达式子串匹配(substring(string from pattern))中的一个极端情形(Tom)

    问题发生在模式整体有匹配但用户指定了带括号的子表达式而该子表达式没有匹配时。例子是 substring('foo' from 'foo(bar)?')。由于 (bar) 未匹配,它应返回 NULL,但它错误地返回了整个模式的匹配(即 foo)。

  • 防止取消为防止 XID 回卷而启动的自动清理(Alvaro)

  • 改进 ANALYZE 对不确定元组(由尚未提交的事务插入或删除的元组)的处理,使其报告给统计收集器的计数更可能正确(Pavan Deolasee)

  • 修复 initdb,拒绝其 --xlogdir-X)选项的相对路径(Tom)

  • psql 把制表符打印为适当数量的空格,而不是像 8.3.0 和 8.3.1 那样打印 \x09(Bruce)

  • 更新时区数据文件到 tzdata 发行版 2008c(针对摩洛哥、伊拉克、乔巴山、巴基斯坦、叙利亚、古巴和阿根廷/圣路易斯的 DST 法规变更)

  • ecpglib 新增 ECPGget_PGconn() 函数(Michael)

  • 修复 ecpgPGTYPEStimestamp_sub() 函数结果不正确的问题(Michael)

  • 修复 ecpg 中续行标记的处理(Michael)

  • 修复 contrib/cube 函数可能的崩溃(Tom)

  • 修复 contrib/xml2xpath_table() 函数在输入查询返回 NULL 值时的核心转储(Tom)

  • 修复 contrib/xml2 的 makefile,使其不覆盖 CFLAGS,并使其针对 libxslt 是否存在正确自动配置(Tom)

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。