选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.1 已于 2016 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页

E.140. 版本 8.1.4 #

发行日期

2006-05-23

此发行版包含 8.1.3 之后的多种修复,包括针对极其严重安全问题的补丁。有关 8.1 主版本新特性的信息,请参阅 第 E.144 节

E.140.1. 迁移到版本 8.1.4

对于运行 8.1.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.1.2 的版本升级,请参阅 第 E.142 节

要完全防范 CVE-2006-2313 和 CVE-2006-2314 所述的 SQL 注入攻击,可能需要更改应用程序代码。如果你有把不可信字符串嵌入 SQL 命令的应用程序,应尽快检查它们,确保使用了推荐的转义技术。在大多数情况下,应用程序应使用库或驱动提供的子例程(如 libpqPQescapeStringConn())来执行字符串转义,而不是依靠临时代码来做。

E.140.2. 变更

  • 更改服务器,在所有情形下拒绝无效编码的多字节字符(Tatsuo、Tom)

    虽然 PostgreSQL 向这个方向发展已有一段时间,但现在检查统一应用于所有编码和所有文本输入,而且总是错误而不只是警告。此变更可防范 CVE-2006-2313 所述类型的 SQL 注入攻击。

  • 拒绝字符串字面量中对 \' 的不安全使用

    作为针对 CVE-2006-2314 所述类型 SQL 注入攻击的服务器端防御,服务器现在只接受 '' 而不接受 \' 作为 SQL 字符串字面量中 ASCII 单引号的表示。默认情况下,只有当 client_encoding 设为仅客户端编码(SJIS、BIG5、GBK、GB18030 或 UHC)时才拒绝 \',这正是可能发生 SQL 注入的场景。需要时可用新的配置参数 backslash_quote 调整此行为。注意,要完全防范 CVE-2006-2314 可能需要客户端更改;backslash_quote 的目的之一是让不安全的客户端明显地不安全。

  • 修改 libpq 的字符串转义例程,使其感知编码问题和 standard_conforming_strings

    这为使用 libpq 的应用程序修复了 CVE-2006-2313 和 CVE-2006-2314 所述的安全问题,并使它们为将来转向 SQL 标准字符串字面量语法做好准备。并发使用多个 PostgreSQL 连接的应用程序应迁移到 PQescapeStringConn()PQescapeByteaConn(),以确保为每个数据库连接中使用的设置正确转义。以手工方式做字符串转义的应用程序应改为依靠库例程。

  • 修复 pgcrypto 中的弱密钥选择(Marko Kreen)

    fortuna PRNG 重播种逻辑中的错误可能在某些情况下导致 pgp_sym_encrypt() 选择可预测的会话密钥。这只影响不使用 OpenSSL 的构建。

  • 修复一些不正确的编码转换函数

    win1251_to_isowin866_to_isoeuc_tw_to_big5euc_tw_to_micmic_to_euc_tw 都在不同程度上损坏。

  • 清理字符串中偶然残留的 \' 使用(Bruce、Jan)

  • 让 autovacuum 在 pg_stat_activity 中可见(Alvaro)

  • 禁用 full_page_writes(Tom)

    某些情况下,关闭 full_page_writes 会导致崩溃恢复失败。适当的修复将出现在 8.2 中;目前只是禁用它。

  • 各种规划器修复,特别是位图索引扫描和 MIN/MAX 优化(Tom)

  • 修复归并连接中的错误优化(Tom)

    外连接有时可能发出未匹配行的多个副本。

  • 修复在同一事务中使用并修改 plpgsql 函数导致的崩溃

  • 修复 B-Tree 索引被截断情形的 WAL 重放

  • 修复涉及 | 的模式的 SIMILAR TO(Tom)

  • 修复 SELECT INTOCREATE TABLE AS,在默认表空间而不是基目录中创建表(Kris Jurka)

  • 修复服务器正确使用自定义 DH SSL 参数(Michael Fuhr)

  • 改进 qsort 性能(Dann Corbit)

    目前此代码只在 Solaris 上使用。

  • 修复 x86 系统上的 OS/X Bonjour(Ashley Clark)

  • 修复各种小的内存泄漏

  • 修复某些 Win32 系统上的口令提示问题(Robert Kinberg)

  • 改进 pg_dump 对域默认值的处理

  • 修复 pg_dumpall 合理处理同名的用户和组(只在从 8.1 之前的服务器转储时可能)(Tom)

    用户和组将被合并为带 LOGIN 权限的单个角色。此前合并后的角色没有 LOGIN 权限,使其不能作为用户使用。

  • 修复 pg_restore-n,使其按文档工作(Tom)

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。