| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
文档详细介绍了PostgreSQL 9.4版本的更新内容,包括新功能、性能优化、安全性改进以及迁移注意事项。主要更新包括新增JSONB数据类型、ALTER SYSTEM命令、减少锁强度、支持逻辑解码等功能。文档还提到了时间区数据文件的更新、性能优化措施以及安全性改进,如处理CASE表达式中的潜在错误和客户端程序的安全性增强。 | ||
| AI总结 | ||
### PostgreSQL 9.4 文档总结
#### 1. 时间区域设置调整
- **避免使用`localtime`或`posixrules`作为时区**:在初始化数据库时,优先选择与C库时区行为一致的时区,而不是这些人工定义的时区。
- **更新`pg_timezone_names`视图**:仅显示使用现代缩写的时区。
- **同步时区库**:将时区库更新到IANA tzcode 2019b版本,支持`zic`的新功能,如`-b slim`选项以减少时区文件大小。
#### 2. 版本更新
- **9.4.23(2019-06-20)**:
- 修复了`ALTER TABLE ... ALTER COLUMN TYPE`在存在部分排除约束时的失败问题。
- 修复了查询重复连接名称导致的打印错误。
- 修复了正则表达式中`{1,1}`量词的误优化问题。
- 更新时区数据文件到tzdata 2019a,修复了巴西、巴勒斯坦等地的夏令时规则。
- **9.4.21(2019-02-14)**:
- 默认情况下,`fsync()`失败后会触发恐慌以避免数据损坏。新增`data_sync_retry`参数以控制此行为。
- 修复了在Windows上处理命令字符串时自动保留引号的问题。
- **9.4.25(2019-11-14)**:
- 修复了`pg_upgrade`在检查表中的非升级数据类型时的行为问题。
- 更新时区数据文件到tzdata 2019b,修复了巴西、巴勒斯坦等地的夏令时规则。
- **9.4.9(2016-08-11)**:
- 修复了嵌套`CASE-WHEN`表达式的潜在误评估问题,包括可能导致的内存泄漏或崩溃。
- 修复了客户端程序对数据库和角色名称中包含双引号或反斜杠的处理问题。
#### 3. 迁移注意事项
- **从旧版本升级**:建议使用`pg_dumpall`或`pg_upgrade`进行数据迁移。
- **兼容性调整**:
- 紧化了对多维数组输入的检查。
- 将日期、时间戳等类型转换为JSON时,输出符合ISO 8601标准。
#### 4. 性能改进
- **索引优化**:
- 减小了GIN索引的大小,并改进了多键GIN查找的速度。
- 新增对`inet`和`cidr`数据类型的GiST索引支持。
- **性能提升**:
- 允许多个后端同时插入WAL缓冲区以提高并行写入性能。
- 优化了窗口函数和聚集函数的性能。
#### 5. 安全性修复
- **嵌套`CASE-WHEN`表达式**:修复了可能导致内存泄漏或崩溃的潜在漏洞(CVE-2016-5423)。
- **数据库和角色名称处理**:修复了客户端程序对特殊字符的处理问题,防止潜在的安全风险(CVE-2016-5424)。
#### 6. 新功能
- **重大增强**:
- 引入了`jsonb`数据类型,支持更高效和灵活的JSON数据存储。
- 新增`ALTER SYSTEM`命令,允许动态修改`postgresql.conf`配置。
- 支持逻辑解码WAL数据,实现数据库变更的流式输出。
- 允许动态注册、启动和终止背景工作进程。
#### 7. 其他改进
- **默认值处理**:修复了`libpq`函数对空字符串的处理逻辑。
- **数据同步**:改进了`pg_regress`在成功退出时清理临时安装的行为,减少磁盘空间占用。
#### 8. 重要提示
- PostgreSQL社区计划在2020年2月停止对9.4.X系列的更新,建议用户尽快升级到 newer versions。
以上总结涵盖了文档的主要内容,重点突出了核心更新、性能改进和安全性修复。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
2596 页请下载阅读 -
文档评分














PostgreSQL 9.4 Documentation