企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# E.91\. 版本 8.2.10 > **发布日期:** 2008-09-22 这个版本包含各种自8.2.9以来的修复。关于8.2主版本的新特性信息, 请查看[Section E.101](#calibre_link-223)。 ## E.91.1\. 迁移到版本 8.2.10 运行8.2.X的用户不需要转储/恢复。不过,如果你是从一个早于8.2.7的版本升级而来, 那么请查看8.2.7的版本声明。 ## E.91.2\. 修改列表 * 修复btree WAL恢复代码中的bug (Heikki) 如果WAL在页分裂操作的中途停止,则恢复失败。 * 修复潜在的`datfrozenxid`计算错误 (Alvaro) 这个错误可能会解释一些最近未能删除老的`pg_clog`数据的报告。 * 扩大本地锁计数器从32到64位 (Tom) 这个响应报告计数器在足够长的事务中可能会溢出,导致意外的"锁已经持有"错误。 * 修复在GiST索引扫描期间元组可能重复输出 (Teodor) * 修复一个视图包含一个简单的`UNION ALL`构造时,丢失的权限检查 (Heikki) 正确的检查了引用表的权限,但是视图本身的权限没有检查。 * 在执行器启动中添加检查,以确保`INSERT`或`UPDATE` 产生的元组将匹配目标表的当前行类型 (Tom) `ALTER COLUMN TYPE`,跟着重新使用一个以前缓存的规划,会产生这种类型的情况。 该检查防卫了可能跟着发生的数据损坏和/或崩溃。 * 修复`DROP OWNED`期间可能的重复删除 (Tom) 这通常会导致奇怪的错误,比如"关系NNN的缓存查找失败"。 * 修复`AT TIME ZONE`,首先尝试解释它的时区参数为时区缩写, 并且只在失败时尝试它为一个全时区名,而不是像以前一样 (Tom) 时间戳输入函数总是以这个顺序解决模糊的时区名称。让`AT TIME ZONE` 这样做也改善了一致性,并且修复了一个在8.1中引入的兼容性错误: 在模糊的情况下,我们现在和8.0和以前一样行为,因为在老的版本中,`AT TIME ZONE` _只_接受缩写。 * 修复日期时间输入函数,当运行在一个64位的平台上时,正确的检测整数溢出 (Tom) * 显示一个拥有单位的配置参数时,阻止单位转换期间的整数溢出 (Tom) * 提高写入非常长的日志消息到系统日志的性能 (Tom) * 在`pg_hba.conf`中允许空格在LDAP URL的前缀部分中 (Tom) * 修复向后扫描`SELECT DISTINCT ON`查询上的游标中的错误 (Tom) * 修复嵌套子查询表达式的规划器错误 (Tom) 如果外部子查询没有直接的依赖于父查询,但是内部子查询直接依赖于父查询, 那么外部的值可能不会为新的父查询行计算。 * 修复规划器,估计`GROUP BY`表达式产生的布尔结果总是在两个组中, 不管表达式的内容是什么 (Tom) 这非常明显的比为某些布尔测试,像`_col_` `IS NULL`, 的普通`GROUP BY`估计更精确。 * 修复PL/pgSQL,当`FOR`循环的目标变量是一个包含复合类型字段的记录时不要失败 (Tom) * 修复PL/Tcl,使其与Tcl8.5正确的行为,并且更加小心数据发送到或者来自Tcl的编码 (Tom) * 在Windows上,通过阻止libpq尝试发送超过64kB的系统调用来绕开一个Microsoft错误 (Magnus) * 改善未能发送一个SQL命令之后,pg_dump和pg_restore 的错误报告 (Tom) * 修复pg_ctl,在`restart`时妥善保存主进程的命令行参数 (Bruce) * 更新时区数据文件到tzdata版本2008f(因为DST规律在Argentina、Bahamas、 Brazil、Mauritius、Morocco、Pakistan、Palestine和Paraguay发生了改变)