附录 E. 发布说明
目录
- E.1. 版本 7.4.30
- E.2. 版本 7.4.29
- E.3. 版本 7.4.28
- E.4. 版本 7.4.27
- E.5. 版本 7.4.26
- E.6. 版本 7.4.25
- E.7. 版本 7.4.24
- E.8. 版本 7.4.23
- E.9. 版本 7.4.22
- E.10. 版本 7.4.21
- E.11. 版本 7.4.20
- E.12. 版本 7.4.19
- E.13. 版本 7.4.18
- E.14. 版本 7.4.17
- E.15. 版本 7.4.16
- E.16. 版本 7.4.15
- E.17. 版本 7.4.14
- E.18. 版本 7.4.13
- E.19. 版本 7.4.12
- E.20. 版本 7.4.11
- E.21. 版本 7.4.10
- E.22. 版本 7.4.9
- E.23. 版本 7.4.8
- E.24. 版本 7.4.7
- E.25. 版本 7.4.6
- E.26. 版本 7.4.5
- E.27. 版本 7.4.4
- E.28. 版本 7.4.3
- E.29. 版本 7.4.2
- E.30. 版本 7.4.1
- E.31. 版本 7.4
- E.32. 版本 7.3.21
- E.33. 版本 7.3.20
- E.34. 版本 7.3.19
- E.35. 版本 7.3.18
- E.36. 版本 7.3.17
- E.37. 版本 7.3.16
- E.38. 版本 7.3.15
- E.39. 版本 7.3.14
- E.40. 版本 7.3.13
- E.41. 版本 7.3.12
- E.42. 版本 7.3.11
- E.43. 版本 7.3.10
- E.44. 版本 7.3.9
- E.45. 版本 7.3.8
- E.46. 版本 7.3.7
- E.47. 版本 7.3.6
- E.48. 版本 7.3.5
- E.49. 版本 7.3.4
- E.50. 版本 7.3.3
- E.51. 版本 7.3.2
- E.52. 版本 7.3.1
- E.53. 版本 7.3
- E.54. 版本 7.2.8
- E.55. 版本 7.2.7
- E.56. 版本 7.2.6
- E.57. 版本 7.2.5
- E.58. 版本 7.2.4
- E.59. 版本 7.2.3
- E.60. 版本 7.2.2
- E.61. 版本 7.2.1
- E.62. 版本 7.2
- E.63. 版本 7.1.3
- E.64. 版本 7.1.2
- E.65. 版本 7.1.1
- E.66. 版本 7.1
- E.67. 版本 7.0.3
- E.68. 版本 7.0.2
- E.69. 版本 7.0.1
- E.70. 版本 7.0
- E.71. 版本 6.5.3
- E.72. 版本 6.5.2
- E.73. 版本 6.5.1
- E.74. 版本 6.5
- E.75. 版本 6.4.2
- E.76. 版本 6.4.1
- E.77. 版本 6.4
- E.78. 版本 6.3.2
- E.79. 版本 6.3.1
- E.80. 版本 6.3
- E.81. 版本 6.2.1
- E.82. 版本 6.2
- E.83. 版本 6.1.1
- E.84. 版本 6.1
- E.85. 版本 6.0
- E.86. 版本 1.09
- E.87. 版本 1.02
- E.88. 版本 1.01
- E.89. 版本 1.0
- E.90. Postgres95 Release 0.03
- E.91. Postgres95 Release 0.02
- E.92. Postgres95 Release 0.01
发布说明包含每个PostgreSQL发布中的重要变更,并将主要特性和迁移问题列在最前面。发布说明不包含只影响少数用户的变更,也不包含仅限内部实现、因而对用户不可见的变更。例如,优化器几乎在每次发布中都会得到改进,但用户通常只会把这些改进感知为查询速度更快。
每个版本的一份完整变更列表可以通过查看该版本的
Git 日志获得。pgsql-committers
邮件列表也记录了所有源代码变更。另有一个Web 界面可显示特定文件的变更。
每个条目旁边标出的姓名表示该条目的主要开发者。当然,所有变更都经历了社区讨论和补丁审查,因此每个条目实际上都是社区共同努力的成果。
E.1. 版本 7.4.30 #
发行日期
2010-10-04
本次发布包含对 7.4.29 的多方面修复。有关 7.4 大版本中新特性的信息,请参见第 E.31 节。
这预计是 PostgreSQL 7.4.X 系列的最后一个发行版。建议用户尽快更新到较新的发行分支。
E.1.1. 迁移到版本 7.4.30
对于运行 7.4.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 7.4.26 的版本升级,请参阅 7.4.26 的发行说明。
E.1.2. 变更
在 PL/Perl 和 PL/Tcl 中为每个调用方 SQL 用户 ID 使用单独的解释器(Tom Lane)
此变更防止了可通过破坏稍后将在同一会话中以另一 SQL 用户身份执行的 Perl 或 Tcl 代码(例如在
SECURITY DEFINER函数内)而造成的安全问题。大多数脚本语言都提供许多实现这一点的手段,例如重新定义目标函数调用的标准函数或操作符。如果没有此变更,任何拥有 Perl 或 Tcl 语言使用权的 SQL 用户基本上都能以目标函数所有者的 SQL 权限为所欲为。此变更的代价是 Perl 和 Tcl 函数之间的有意通信变得更困难。为提供出路,PL/PerlU 和 PL/TclU 函数继续每会话只使用一个解释器。这不被视为安全问题,因为所有这类函数本来就以数据库超级用户的信任级别执行。
声称提供可信执行的第三方过程语言很可能存在类似的安全问题。我们建议就安全关键用途联系你所依赖的任何 PL 的作者。
感谢 Tim Bunce 指出此问题(CVE-2010-3433)。
禁止以并非它预期配合使用的系统目录列的参数调用
pg_get_expr(),以防止可能的崩溃(Heikki Linnakangas、Tom Lane)修复“无法处理未规划的子查询”错误(Tom Lane)
当子查询包含一个连接别名引用,而该引用展开成包含另一个子查询的表达式时,会出现此错误。
写入锁文件(
postmaster.pid和套接字锁文件两者)内容时注意对其执行 fsync(Tom Lane)如果机器在 postmaster 启动后不久崩溃,这一疏漏可能导致锁文件内容损坏。这又可能使后续启动 postmaster 的尝试失败,直到手工删除锁文件。
改进
contrib/dblink对包含已删除列的表的处理(Tom Lane)修复
contrib/dblink中“重复连接名”错误后的连接泄漏(Itagaki Takahiro)更新构建基础设施和文档,反映源代码仓库从 CVS 迁移到 Git 的变化(Magnus Hagander 等)