| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
该文档是PostgreSQL 9.0官方文档的部分内容,主要介绍了版本9.0的新特性、不兼容变更、迁移指南以及后续补丁版本(如9.0.14、9.0.20、9.0.22)的修复内容。核心特性包括:基于日志传送的内置复制(Streaming Replication允许WAL数据流式传输到备用服务器,Hot Standby允许备用服务器执行只读查询)、增强的存储过程支持(DO语句、命名参数、PL/pgSQL默认安装)、64位Windows完全支持、新的窗口函数和触发器特性、可延迟唯一约束、排除约束、增强的安全性(RADIUS/LDAP认证、passwordcheck模块)、LISTEN/NOTIFY高性能实现、新VACUUM FULL实现、pg_upgrade模块支持从8.3或8.4就地升级到9.0。后续补丁版本修复了多字节字符串处理、内存泄漏、死锁、正则表达式崩溃等安全问题,并宣布9.0.X系列将于2015年9月停止更新。 | ||
| AI总结 | ||
PostgreSQL 9.0 是一个重大版本更新,引入了大量新功能和超过200项改进。主要亮点包括:内置复制、权限管理增强、存储过程改进、以及64位Windows全面支持。
**核心迁移要求:**
- 从旧版迁移到9.0必须使用 `pg_dump` 或 `pg_upgrade` 工具。
- 存在一些不兼容变更,例如:`PL/pgSQL` 中的 `RENAME` 声明被移除,改用 `ALIAS`;不推荐使用 `=>` 作为操作符名称。
**主要新特性:**
- **服务器 (Server)**
- **持续归档与流复制**:增强备用服务器功能,支持只读查询(热备用),并通过流式WAL数据减少主备延迟。
- **Hot Standby**:允许备用服务器处理只读查询。
- **Streaming Replication**:允许WAL日志通过网络流式传输到备用服务器。
- **其他重要变更**
- **权限管理**:新增 `GRANT/REVOKE IN SCHEMA` 实现批量权限修改,`ALTER DEFAULT PRIVILEGES` 管理未来对象权限,大型对象也支持权限管理。
- **存储过程**:支持匿名代码块(`DO` 语句),函数调用支持命名参数,`PL/pgSQL` 成为默认安装。
- **查询与报告**:新增窗口函数选项(`PRECEDING`、`FOLLOWING`)以及更多聚合函数控制。
- **触发器**:新增SQL标准的按列触发器和条件触发执行。
- **约束**:支持可延迟的唯一约束和排他约束。
- **安全**:新增RADIUS认证,改进LDAP认证,新增 `passwordcheck` 扩展模块。
- **LISTEN/NOTIFY**:使用基于内存的队列而非表,并支持发送“负载”字符串。
- **VACUUM FULL**:重写整个表和索引,性能显著提升且避免索引膨胀。
- **升级工具**:新增 `pg_upgrade` 模块,支持从8.3或8.4就地升级到9.0。
- **性能与诊断**:优化特定查询(如消除不必要的连接),`EXPLAIN` 现在支持JSON、XML、YAML输出,并包含缓冲区使用情况等信息。
- **hstore**:功能和数据容量大幅提升,增加了B树和哈希索引支持。
**后续补丁版本关键修复 (9.0.14, 9.0.20, 9.0.22):**
- **安全修复**:修复了因客户端在认证超时前断开连接导致的潜在崩溃(CVE-2015-3165)、系统调用失败检测问题(CVE-2015-3166),以及 `pgcrypto` 模块中解密失败信息泄露的隐患(CVE-2015-3167)。
- **错误修复**:修复了多字节字符折叠、检查点内存泄漏、`lo_open()` 内存泄漏、大 `work_mem` 配置的内存溢出、SSL死锁、查询计划器错误、正则表达式匹配错误、并发索引创建死锁、`REINDEX` 约束验证失败,以及延迟排他约束在HOT更新后检查错误等问题。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
2554 页请下载阅读 -
文档评分














PostgreSQL 9.0 Documentation
