pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
2005-04-07
本次发布包含对 8.0.1 的多方面修复。有关 8.0 大版本中新特性的信息,请参见 第 E.171 节。.
对于运行 8.0.* 的用户,不需要进行转储/恢复。此发行版更新了 PostgreSQL 库的主版本号,因此如果某些用户应用程序找不到正确编号的共享库,可能需要重新链接它们。
递增所有接口库的主版本号(Bruce)
这本应在 8.0.0 中完成。需要它才能使 7.4.X 版本的 PostgreSQL 客户端应用程序(如 psql)能与 8.0.X 应用程序在同一台机器上使用。这可能需要重新链接使用这些库的用户应用程序。
新增仅 Windows 的 wal_sync_method 设置 fsync_writethrough(Magnus、Bruce)
此设置使 PostgreSQL 在写 WAL 时穿透磁盘驱动器的任何写缓存。此行为以前称为 fsync,但因它在其他平台上的行为与 fsync 大不相同而被改名。
在 Windows 上启用 wal_sync_method 的 open_datasync 设置,并使其成为该平台的默认(Magnus、Bruce)
由于默认不再是 fsync_writethrough,如果磁盘驱动器启用了写缓存,断电期间可能丢失数据。要在 Windows 上关闭写缓存,请在设备管理器中选择驱动器属性,然后选择策略。
新缓存管理算法 2Q 取代 ARC(Tom)
这是为了避免 ARC 的一项待决美国专利。对某些负载,2Q 代码可能比 ARC 慢几个百分点。更好的缓存管理算法将出现在 8.1 中。
规划器调整以改进新建表上的行为(Tom)
允许 plpgsql 给初始为 NULL 的数组的元素赋值(Tom)
此前数组会保持 NULL,但现在它变成单元素数组。主 SQL 引擎在 8.0 中已改为以这种方式处理空数组值的 UPDATE,但 plpgsql 中的类似情形被遗漏了。
把 plpython 函数体中的 \r\n 和 \r 转换为 \n(Michael Fuhr)
这防止在 Windows 或 Mac 客户端上编写 plpython 代码时出现语法错误。
允许 SPI 游标处理返回行的工具命令,如 EXPLAIN(Tom)
修复 ALTER TABLE SET WITHOUT OIDS 之后 CLUSTER 的失败(Tom)
降低 ALTER TABLE ADD COLUMN 的内存使用(Neil)
修复 ALTER LANGUAGE RENAME(Tom)
记录 pg_ctl 仅 Windows 的 register 和 unregister 选项(Magnus)
确保后端关闭期间完成的操作被统计收集器计数
这有望解决关于 pg_autovacuum 不够频繁地清理系统目录的报告——它没有被通知后端退出期间临时表删除导致的目录删除。
把 Windows 上配置参数 log_destination 的默认改为 eventlog(Magnus)
默认情况下,在 Windows 上运行的服务器现在将把日志输出发送到 Windows 事件记录器而不是标准错误。
使 Kerberos 认证在 Windows 上工作(Magnus)
允许没有 CREATEDB 权限标志的超级用户执行 ALTER DATABASE RENAME(Tom)
修改 CREATE 和 DROP DATABASE 的 WAL 日志条目,不指定绝对路径(Tom)
这允许在数据库位置可能不同的另一台机器上做时间点恢复。注意 CREATE TABLESPACE 在这种情形下仍有风险。
修复后端带着创建过表并对其打开游标的未决事务退出时的崩溃(Tom)
修复 array_map(),使其能调用 PL 函数(Tom)
若干 contrib/tsearch2 和 contrib/btree_gist 修复(Teodor)
修复某些平台上一些 contrib/pgcrypto 函数的崩溃(Marko Kreen)
修复 contrib/intagg 在 64 位平台上的问题(Tom)
修复 ecpg 解析 CREATE 语句的缺陷(Michael)
绕过 powerpc 和 amd64 上的 gcc 缺陷,它导致 ecpg 中的问题(Christof Petig)
当区域设置为 C 时不使用区域感知版本的 upper()、lower() 和 initcap()(Bruce)
这使这些函数能在区域设置为 C 时对非 7 位数据报错的平台上工作。
修复 quote_ident(),给匹配关键字的名称加引号(Tom)
修复 to_date() 在同时使用 CC 和 YY 字段时合理行事(Karel)
防止 to_char(interval) 在给定零月 interval 时失败(Tom)
修复 date_trunc('week') 返回错误星期的问题(Bruce)
date_trunc('week') 在某些年份对一月的前几天返回错误的年份。
为 INET 数据类型的 D 类地址使用正确的默认掩码长度(Tom)
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。