| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
文档是PostgreSQL 8.1.11的发布说明,发布日期为2008-01-07。该版本修复了8.1.10中的多个问题,包括重大安全漏洞。主要安全修复包括:防止索引中的函数以运行VACUUM、ANALYZE等维护操作的用户权限执行(CVE-2007-6600),以及修复正则表达式包中的多个bug,这些bug可能导致崩溃、无限循环或内存消耗(CVE-2007-4769、CVE-2007-4772、CVE-2007-6067)。这是PostgreSQL社区为Windows提供二进制包的最后一个8.1.X版本,建议Windows用户迁移到8.2.X或更高版本。8.1.X将继续在其他平台上获得支持。迁移方面,运行8.1.X的用户无需dump/restore,但从更早版本升级的用户需参考8.1.2的发布说明。 | ||
| AI总结 | ||
这是对 PostgreSQL 8.1.11 文档内容的总结:
**核心安全修复与版本说明**
* **版本 8.1.11 (2008-01-07)** 是 8.1.X 系列在 Windows 平台上的最终版本,建议 Windows 用户迁移至 8.2.X 或更高版本。该版本包含重要的安全修复。
* **关键安全修复**:
* **索引函数权限提升漏洞 (CVE-2007-6600)**:修复了通过精心构造的索引定义,在 VACUUM、ANALYZE 等维护操作中执行恶意代码(特洛伊木马)的风险。修复后,这些操作将以表所有者的权限执行,而非调用者(如超级用户)的权限。
* **正则表达式拒绝服务漏洞 (CVE-2007-4769, CVE-2007-4772, CVE-2007-6067)**:修复了特制的正则表达式可能导致程序崩溃、无限循环或大量内存消耗的问题。
**主要功能与行为变更**
* **迁移**:从 8.1.X 升级到 8.1.11 无需 `dump/restore`。从更早版本升级需参考 8.1.2 的发布说明。
* **语言创建**:`CREATE LANGUAGE` 现在会优先使用系统目录 `pg_pltemplate` 中的信息,忽略大部分提供的参数。`pg_dump` 将仅导出 `CREATE LANGUAGE name`。
* **序列修复**:新增了使用 OID 修复 `nextval()` 序列问题的脚本方法。
* **字符串处理**:在 `psql` 中,未加引号的 `$` 后跟数字序列现在被视为八进制数(之前为十进制)。
* **运算符**:移除了前缀和后缀的 `%` 和 `^` 运算符语法。
* **多边形比较**:多边形的小于和大于运算符现在与 `box` 的“覆盖”运算符一致。
* **UTF-8 数据加载**:此版本严格校验 UTF-8 编码,仅接受有效序列。修复无效数据的方法是通过 `iconv -c` 命令处理转储文件。
**8.1 版本的主要新特性与不兼容性**
* **性能改进**:
* 支持跨数据类型的索引使用,使查询更高效。
* 新的缓存替换策略(四列表追踪),替代了旧的 LRU 算法,提升了缓存效率。
* 新增后台写入进程,将脏页定期写入磁盘,减少检查点时的 I/O 峰值。
* 支持通过 `constraint_exclusion` 参数实现基本的分区表功能。
* VACUUM 可以调整速度以减少对性能的影响。
* 改进了 B-tree 索引对重复键的处理。
* **不兼容性**:
* `add_missing_from` 默认设为 `false`,查询中缺少 FROM 子句将报错。
* `default_with_oids` 默认设为 `false`,新建表默认不再包含 OID 列。
* 对 `float4`/`float8`/`oid` 类型输入空字符串会报错。
* 引入了 `E''` 语法,为将来字符串中反斜杠不再具有特殊转义含义做准备。
* `to_char(interval)` 函数被保留并增强,而非移除。
* 整数转换为 `BIT(N)` 时,取的是最右边的 N 位。
* `extract()` 函数现在能正确返回公元前(BC)日期的年份、世纪和千年。
* CIDR 值中未掩码的位必须为零。
* 移除了单字节 `"char"` 数据类型的算术运算符。
* JDBC 和 Tcl 客户端接口已从核心发行版中移除。
* 服务器现在使用自己的时区数据库。
**其他关键文档内容**
* **数组**:详细说明了数组类型的声明(如 `integer[]`)、输入值(花括号 `{}` 和逗号分隔)以及访问方式(下标从 1 开始)。
* **升级步骤**:提供了从旧版本升级到 8.1.11 的详细步骤,包括备份(`pg_dumpall`)、停止旧服务器、安装新版本、初始化新数据目录(`initdb`)和恢复数据。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
1575 页请下载阅读 -
文档评分














PostgreSQL 8.1.11 Documentation
