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

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

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

E.143. 版本 8.3.4 #

发行日期:. 2008-09-22

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

E.143.1. 迁移到版本 8.3.4

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

E.143.2. 变更

  • 修复 btree WAL 恢复代码中的缺陷(Heikki)

    如果 WAL 在页分裂操作中途结束,恢复就会失败。

  • 修复 HOT 页修剪可能使用错误截断 XID 的问题(Alvaro)

    此错误在 VACUUM 会查询的系统目录中造成损坏风险:死元组版本可能被过早移除。这对实际数据库操作的影响很小,因为系统在检查目录时不遵循 MVCC 规则,但可能导致 pg_dump 或其他客户端程序的瞬时错误输出。

  • 修复 datfrozenxid 可能的错误计算(Alvaro)

    此错误或许能解释最近一些无法删除旧 pg_clog 数据的报告。

  • 修复 pg_class 被重新索引后的错误 HOT 更新(Tom)

    如果 REINDEX TABLE pg_class 之后在同一会话中执行 ALTER TABLE RENAMEALTER TABLE SET SCHEMA 命令,pg_class 可能损坏。

  • 修复遗漏的组合 cid情形(Karl Schnaitter)

    此错误使行对某个事务错误地不可见,而这些行在该事务中曾被多个全部中止的子事务删除过。

  • 防止 autovacuum 在它正在检查的表恰好在错误时刻被删除时崩溃(Alvaro)

  • 把本地锁计数器从 32 位拓宽到 64 位(Tom)

    这是针对计数器在足够长的事务中可能溢出的报告,该溢出会导致意外的 锁已被持有错误。

  • 修复 GiST 索引扫描期间可能的元组重复输出(Teodor)

  • 当任一表被修改时从头重新生成外键检查查询(Tom)

    此前 8.3 会试图重新规划查询,但基于以前生成的查询文本。如果表或列被重命名,这就会失败。

  • 修复视图包含简单 UNION ALL 构造时遗漏的权限检查(Heikki)

    被引用表的权限被正确检查,但视图本身的权限没有。

  • 在执行器启动时添加检查,确保 INSERTUPDATE 产生的元组与目标表的当前行类型匹配(Tom)

    据信这种情况在 8.3 中不可能发生,但在以前的版本中可能,因此检查似乎是明智的。

  • 修复 DROP OWNED 期间可能的重复删除(Tom)

    这通常会导致奇怪的错误,例如 关系 NNN 的缓存查找失败

  • 修复 XML 操作中的多个内存泄漏(Kris Jurka、Tom)

  • 修复 xmlserialize(),使其对不可接受的目标数据类型正确抛出错误(Tom)

  • 修复几处在文本搜索配置文件解析中错误处理多字节字符的地方(Tom)

    配置文件中出现的某些字符总是会导致 编码的字节序列无效失败。

  • 为文本搜索配置文件中报告的所有错误提供文件名和行号位置(Tom)

  • 修复 AT TIME ZONE:先尝试把时区参数解释为时区缩写,仅在失败时才尝试完整时区名,而不是像以前那样相反(Tom)

    时间戳输入函数一直按此顺序解析有歧义的时区名。让 AT TIME ZONE 也这样做改进了一致性,并修复了 8.1 中引入的兼容性缺陷:在有歧义的情形下,我们现在的行为与 8.0 及更早版本相同,因为在旧版本中 AT TIME ZONE 接受缩写。

  • 修复日期时间输入函数在 64 位平台上正确检测整数溢出(Tom)

  • 防止显示带单位的配置参数时单位转换期间的整数溢出(Tom)

  • 改进向 syslog 写很长日志消息的性能(Tom)

  • 允许 pg_hba.conf 中 LDAP URL 的后缀部分包含空格(Tom)

  • 修复 SELECT DISTINCT ON 查询上游标反向扫描的缺陷(Tom)

  • 修复可能把 IS NULL 测试不当下推到外连接之下的规划器缺陷(Tom)

    这由上层 OR 子句的所有分支中对同一关系的 IS NULL 测试触发。

  • 修复嵌套子查询表达式的规划器缺陷(Tom)

    如果外层子查询不直接依赖父查询而内层依赖,外层的值可能不会为新的父查询行重新计算。

  • 修复规划器,使其估计产生布尔结果的 GROUP BY 表达式总是产生两个组,而不考虑表达式的内容(Tom)

    对于某些布尔测试(如 col IS NULL),这比常规的 GROUP BY 估计准确得多。

  • 修复 PL/pgSQL 在 FOR 循环的目标变量是包含组合类型字段的记录时不失败(Tom)

  • 修复 PL/Tcl 在 Tcl 8.5 下的正确行为,并更小心地处理发送到 Tcl 或从 Tcl 发出的数据的编码(Tom)

  • 改进 PQescapeBytea() 的性能(Rudolf Leitgeb)

  • 在 Windows 上,通过阻止 libpq 在每次系统调用中发送超过 64kB 来绕过 Microsoft 的一个缺陷(Magnus)

  • 修复 ecpgSET 命令中正确处理变量(Michael)

  • 改进 pg_dumppg_restore 在发送 SQL 命令失败后的错误报告(Tom)

  • 修复 pg_ctl,使其在 restart 期间正确保留 postmaster 命令行参数(Bruce)

  • 修复 pg_standby 中 WAL 文件截断点计算的错误(Simon)

  • 更新时区数据文件到 tzdata 发行版 2008f(针对阿根廷、巴哈马、巴西、毛里求斯、摩洛哥、巴基斯坦、巴勒斯坦和巴拉圭的 DST 法规变更)

提交更正

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