附录 E. 发布说明
目录
- E.1. 版本 9.3.25
- E.2. 版本 9.3.24
- E.3. 版本 9.3.23
- E.4. 版本 9.3.22
- E.5. 版本 9.3.21
- E.6. 版本 9.3.20
- E.7. 版本 9.3.19
- E.8. 版本 9.3.18
- E.9. 版本 9.3.17
- E.10. 版本 9.3.16
- E.11. 版本 9.3.15
- E.12. 版本 9.3.14
- E.13. 版本 9.3.13
- E.14. 版本 9.3.12
- E.15. 版本 9.3.11
- E.16. 版本 9.3.10
- E.17. 版本 9.3.9
- E.18. 版本 9.3.8
- E.19. 版本 9.3.7
- E.20. 版本 9.3.6
- E.21. 版本 9.3.5
- E.22. 版本 9.3.4
- E.23. 版本 9.3.3
- E.24. 版本 9.3.2
- E.25. 版本 9.3.1
- E.26. 版本 9.3
- E.27. 版本 9.2.24
- E.28. 版本 9.2.23
- E.29. 版本 9.2.22
- E.30. 版本 9.2.21
- E.31. 版本 9.2.20
- E.32. 版本 9.2.19
- E.33. 版本 9.2.18
- E.34. 版本 9.2.17
- E.35. 版本 9.2.16
- E.36. 版本 9.2.15
- E.37. 版本 9.2.14
- E.38. 版本 9.2.13
- E.39. 版本 9.2.12
- E.40. 版本 9.2.11
- E.41. 版本 9.2.10
- E.42. 版本 9.2.9
- E.43. 版本 9.2.8
- E.44. 版本 9.2.7
- E.45. 版本 9.2.6
- E.46. 版本 9.2.5
- E.47. 版本 9.2.4
- E.48. 版本 9.2.3
- E.49. 版本 9.2.2
- E.50. 版本 9.2.1
- E.51. 版本 9.2
- E.52. 版本 9.1.24
- E.53. 版本 9.1.23
- E.54. 版本 9.1.22
- E.55. 版本 9.1.21
- E.56. 版本 9.1.20
- E.57. 版本 9.1.19
- E.58. 版本 9.1.18
- E.59. 版本 9.1.17
- E.60. 版本 9.1.16
- E.61. 版本 9.1.15
- E.62. 版本 9.1.14
- E.63. 版本 9.1.13
- E.64. 版本 9.1.12
- E.65. 版本 9.1.11
- E.66. 版本 9.1.10
- E.67. 版本 9.1.9
- E.68. 版本 9.1.8
- E.69. 版本 9.1.7
- E.70. 版本 9.1.6
- E.71. 版本 9.1.5
- E.72. 版本 9.1.4
- E.73. 版本 9.1.3
- E.74. 版本 9.1.2
- E.75. 版本 9.1.1
- E.76. 版本 9.1
- E.77. 版本 9.0.23
- E.78. 版本 9.0.22
- E.79. 版本 9.0.21
- E.80. 版本 9.0.20
- E.81. 版本 9.0.19
- E.82. 版本 9.0.18
- E.83. 版本 9.0.17
- E.84. 版本 9.0.16
- E.85. 版本 9.0.15
- E.86. 版本 9.0.14
- E.87. 版本 9.0.13
- E.88. 版本 9.0.12
- E.89. 版本 9.0.11
- E.90. 版本 9.0.10
- E.91. 版本 9.0.9
- E.92. 版本 9.0.8
- E.93. 版本 9.0.7
- E.94. 版本 9.0.6
- E.95. 版本 9.0.5
- E.96. 版本 9.0.4
- E.97. 版本 9.0.3
- E.98. 版本 9.0.2
- E.99. 版本 9.0.1
- E.100. 版本 9.0
- E.101. 版本 8.4.22
- E.102. 版本 8.4.21
- E.103. 版本 8.4.20
- E.104. 版本 8.4.19
- E.105. 版本 8.4.18
- E.106. 版本 8.4.17
- E.107. 版本 8.4.16
- E.108. 版本 8.4.15
- E.109. 版本 8.4.14
- E.110. 版本 8.4.13
- E.111. 版本 8.4.12
- E.112. 版本 8.4.11
- E.113. 版本 8.4.10
- E.114. 版本 8.4.9
- E.115. 版本 8.4.8
- E.116. 版本 8.4.7
- E.117. 版本 8.4.6
- E.118. 版本 8.4.5
- E.119. 版本 8.4.4
- E.120. 版本 8.4.3
- E.121. 版本 8.4.2
- E.122. 版本 8.4.1
- E.123. 版本 8.4
- E.124. 版本 8.3.23
- E.125. 版本 8.3.22
- E.126. 版本 8.3.21
- E.127. 版本 8.3.20
- E.128. 版本 8.3.19
- E.129. 版本 8.3.18
- E.130. 版本 8.3.17
- E.131. 版本 8.3.16
- E.132. 版本 8.3.15
- E.133. 版本 8.3.14
- E.134. 版本 8.3.13
- E.135. 版本 8.3.12
- E.136. 版本 8.3.11
- E.137. 版本 8.3.10
- E.138. 版本 8.3.9
- E.139. 版本 8.3.8
- E.140. 版本 8.3.7
- E.141. 版本 8.3.6
- E.142. 版本 8.3.5
- E.143. 版本 8.3.4
- E.144. 版本 8.3.3
- E.145. 版本 8.3.2
- E.146. 版本 8.3.1
- E.147. 版本 8.3
- E.148. 版本 8.2.23
- E.149. 版本 8.2.22
- E.150. 版本 8.2.21
- E.151. 版本 8.2.20
- E.152. 版本 8.2.19
- E.153. 版本 8.2.18
- E.154. 版本 8.2.17
- E.155. 版本 8.2.16
- E.156. 版本 8.2.15
- E.157. 版本 8.2.14
- E.158. 版本 8.2.13
- E.159. 版本 8.2.12
- E.160. 版本 8.2.11
- E.161. 版本 8.2.10
- E.162. 版本 8.2.9
- E.163. 版本 8.2.8
- E.164. 版本 8.2.7
- E.165. 版本 8.2.6
- E.166. 版本 8.2.5
- E.167. 版本 8.2.4
- E.168. 版本 8.2.3
- E.169. 版本 8.2.2
- E.170. 版本 8.2.1
- E.171. 版本 8.2
- E.172. 版本 8.1.23
- E.173. 版本 8.1.22
- E.174. 版本 8.1.21
- E.175. 版本 8.1.20
- E.176. 版本 8.1.19
- E.177. 版本 8.1.18
- E.178. 版本 8.1.17
- E.179. 版本 8.1.16
- E.180. 版本 8.1.15
- E.181. 版本 8.1.14
- E.182. 版本 8.1.13
- E.183. 版本 8.1.12
- E.184. 版本 8.1.11
- E.185. 版本 8.1.10
- E.186. 版本 8.1.9
- E.187. 版本 8.1.8
- E.188. 版本 8.1.7
- E.189. 版本 8.1.6
- E.190. 版本 8.1.5
- E.191. 版本 8.1.4
- E.192. 版本 8.1.3
- E.193. 版本 8.1.2
- E.194. 版本 8.1.1
- E.195. 版本 8.1
- E.196. 版本 8.0.26
- E.197. 版本 8.0.25
- E.198. 版本 8.0.24
- E.199. 版本 8.0.23
- E.200. 版本 8.0.22
- E.201. 版本 8.0.21
- E.202. 版本 8.0.20
- E.203. 版本 8.0.19
- E.204. 版本 8.0.18
- E.205. 版本 8.0.17
- E.206. 版本 8.0.16
- E.207. 版本 8.0.15
- E.208. 版本 8.0.14
- E.209. 版本 8.0.13
- E.210. 版本 8.0.12
- E.211. 版本 8.0.11
- E.212. 版本 8.0.10
- E.213. 版本 8.0.9
- E.214. 版本 8.0.8
- E.215. 版本 8.0.7
- E.216. 版本 8.0.6
- E.217. 版本 8.0.5
- E.218. 版本 8.0.4
- E.219. 版本 8.0.3
- E.220. 版本 8.0.2
- E.221. 版本 8.0.1
- E.222. 版本 8.0
- E.223. 版本 7.4.30
- E.224. 版本 7.4.29
- E.225. 版本 7.4.28
- E.226. 版本 7.4.27
- E.227. 版本 7.4.26
- E.228. 版本 7.4.25
- E.229. 版本 7.4.24
- E.230. 版本 7.4.23
- E.231. 版本 7.4.22
- E.232. 版本 7.4.21
- E.233. 版本 7.4.20
- E.234. 版本 7.4.19
- E.235. 版本 7.4.18
- E.236. 版本 7.4.17
- E.237. 版本 7.4.16
- E.238. 版本 7.4.15
- E.239. 版本 7.4.14
- E.240. 版本 7.4.13
- E.241. 版本 7.4.12
- E.242. 版本 7.4.11
- E.243. 版本 7.4.10
- E.244. 版本 7.4.9
- E.245. 版本 7.4.8
- E.246. 版本 7.4.7
- E.247. 版本 7.4.6
- E.248. 版本 7.4.5
- E.249. 版本 7.4.4
- E.250. 版本 7.4.3
- E.251. 版本 7.4.2
- E.252. 版本 7.4.1
- E.253. 版本 7.4
- E.254. 版本 7.3.21
- E.255. 版本 7.3.20
- E.256. 版本 7.3.19
- E.257. 版本 7.3.18
- E.258. 版本 7.3.17
- E.259. 版本 7.3.16
- E.260. 版本 7.3.15
- E.261. 版本 7.3.14
- E.262. 版本 7.3.13
- E.263. 版本 7.3.12
- E.264. 版本 7.3.11
- E.265. 版本 7.3.10
- E.266. 版本 7.3.9
- E.267. 版本 7.3.8
- E.268. 版本 7.3.7
- E.269. 版本 7.3.6
- E.270. 版本 7.3.5
- E.271. 版本 7.3.4
- E.272. 版本 7.3.3
- E.273. 版本 7.3.2
- E.274. 版本 7.3.1
- E.275. 版本 7.3
- E.276. 版本 7.2.8
- E.277. 版本 7.2.7
- E.278. 版本 7.2.6
- E.279. 版本 7.2.5
- E.280. 版本 7.2.4
- E.281. 版本 7.2.3
- E.282. 版本 7.2.2
- E.283. 版本 7.2.1
- E.284. 版本 7.2
- E.285. 版本 7.1.3
- E.286. 版本 7.1.2
- E.287. 版本 7.1.1
- E.288. 版本 7.1
- E.289. 版本 7.0.3
- E.290. 版本 7.0.2
- E.291. 版本 7.0.1
- E.292. 版本 7.0
- E.293. 版本 6.5.3
- E.294. 版本 6.5.2
- E.295. 版本 6.5.1
- E.296. 版本 6.5
- E.297. 版本 6.4.2
- E.298. 版本 6.4.1
- E.299. 版本 6.4
- E.300. 版本 6.3.2
- E.301. 版本 6.3.1
- E.302. 版本 6.3
- E.303. 版本 6.2.1
- E.304. 版本 6.2
- E.305. 版本 6.1.1
- E.306. 版本 6.1
- E.307. 版本 6.0
- E.308. 版本 1.09
- E.309. 版本 1.02
- E.310. 版本 1.01
- E.311. 版本 1.0
- E.312. Postgres95 Release 0.03
- E.313. Postgres95 Release 0.02
- E.314. Postgres95 Release 0.01
发布说明包含每个PostgreSQL发布中的重要变更,并将主要特性和迁移问题列在最前面。发布说明不包含只影响少数用户的变更,也不包含仅限内部实现、因而对用户不可见的变更。例如,优化器几乎在每次发布中都会得到改进,但用户通常只会把这些改进感知为查询速度更快。
每个发布的完整变更列表都可以通过查看对应版本的Git
日志获得。pgsql-committers
邮件列表也记录了所有源代码变更。另有一个Web 界面可显示特定文件的变更。
每个条目旁边标出的姓名表示该条目的主要开发者。当然,所有变更都经历了社区讨论和补丁审查,因此每个条目实际上都是社区共同努力的成果。
E.1. 版本 9.3.25 #
发行日期:. 2018-11-08
本次发布包含对 9.3.24 的多方面修复。有关 9.3 大版本中新特性的信息,请参见第 E.26 节。.
这预计是 PostgreSQL 9.3.X 系列的最后一个发行版。建议用户尽快更新到较新的发行分支。
E.1.2. 变更
修复
has_函数族的边界失败(Tom Lane)foo_privilege()提供无效对象 OID 时返回 NULL 而不是抛出错误。其中一些函数本来就做对了,但并非全部。
has_column_privilege()在某些平台上还可能崩溃。避免正则表达式匹配/拆分函数在长字符串上的 O(N^2) 减速(Andrew Gierth)
避免词法分析器对长串
+或-字符的 O(N^3) 减速(Andrew Gierth)修复外层查询被反向扫描时 SubPlan 的错误执行(Andrew Gierth)
修复回卷所引用游标后
UPDATE/DELETE ... WHERE CURRENT OF ...的失败(Tom Lane)扫描多个关系(特别是继承树)的游标如果被回卷到较早的关系,可能产生错误行为。
修复
EvalPlanQual正确处理条件执行的 InitPlan(Andrew Gierth、Tom Lane)如果并发更新包含诸如
CASE构造内的不相关子SELECT之类的代码,这会导致难以重现的崩溃或错误答案。修复字符类检查在 Windows 上对 U+FFFF 以上的 Unicode 字符不再失败(Tom Lane、Kenji Uno)
此 bug 影响全文搜索操作以及
contrib/ltree和contrib/pg_trgm。确保外部表拥有的序列由该表上的
ALTER OWNER处理(Peter Eisentraut)所有权更改应当也传播到这种序列,但外部表的情况被遗漏了。
修复
array_out()结果字符串的空间过度分配(Keiichi Hirobe)修复重复 SP-GiST 索引扫描中的内存泄漏(Tom Lane)
目前已知只有当使用 SP-GiST 的排他约束在单条命令中接收许多新索引条目时,这才会达到显著程度。
避免实用命令导致无限递归时崩溃(Tom Lane)
初始化热备时,应对由主库两阶段事务引起的重复 XID(Michael Paquier、Konstantin Knizhnik)
在 bootstrap 和独立后端以及 initdb 中随机化
random()的种子(Noah Misch)这一更改的主要实际效果是避免一种场景:initdb 因总是使用相同的随机种子导致的名称冲突,而错误地断定 POSIX 共享内存不可用。
确保热备进程使用正确的 WAL 一致点(Alexander Kukushkin、Michael Paquier)
这防止备库服务器在 WAL 重放期间刚达到一致数据库状态之后可能的行为异常。
服务
SIGQUIT时不运行 atexit 回调(Heikki Linnakangas)不要把外部服务器用户映射记录为扩展的成员(Tom Lane)
如果在扩展脚本中执行
CREATE USER MAPPING,会为用户映射创建扩展依赖,这是意料之外的。角色不能是扩展成员,因此用户映射也不应该是。让 syslogger 更能抵御打开 CSV 日志文件的失败(Tom Lane)
修复 pg_dump 对不相似对象名排序可能的不一致(Jacob Champion)
确保 pg_restore 发出
DISABLE/ENABLE TRIGGER命令时对表名进行模式限定(Tom Lane)这避免了以受限搜索路径运行恢复的新策略导致的失败。
修复 pg_upgrade 正确处理扩展中的事件触发器(Haribabu Kommi)
pg_upgrade 未能保留事件触发器的扩展成员身份。
修复 pg_upgrade 的集簇状态检查在备库服务器上正确工作(Bruce Momjian)
在所有
contrib/cube函数中强制执行cube类型的维度限制(Andrey Borodin)此前某些与 cube 相关的函数可以构造出会被
cube_in()拒绝的值,导致转储/恢复失败。修复
contrib/unaccent的unaccent()函数使用与该函数同模式中的unaccent文本搜索词典(Tom Lane)此前它尝试用搜索路径查找词典,如果搜索路径是受限值就可能失败。
修复 macOS 10.14(Mojave)上的构建问题(Tom Lane)
调整 configure 向
CPPFLAGS添加-isysroot开关;没有它,PL/Perl 和 PL/Tcl 在 macOS 10.14 上无法配置或构建。所用的具体 sysroot 可以在配置或构建时通过在 configure 或 make 的参数中设置PG_SYSROOT变量来覆盖。现在建议与 Perl 相关的扩展在其编译器标志中写
$(perl_includespec)而不是-I$(perl_archlibexp)/CORE。后者在大多数平台上继续有效,但在最近的 macOS 上不行。此外,在最近的 macOS 版本上构建 PL/Tcl 应该不再需要手动指定
--with-tclconfig。修复 MSVC 构建和回归测试脚本在最近的 Perl 版本上工作(Andrew Dunstan)
Perl 不再默认在搜索路径中包含当前目录;绕过这一点。
支持在 Windows 上使用 Visual Studio 2015 或 Visual Studio 2017 构建(Michael Paquier、Haribabu Kommi)
允许 btree 比较函数返回
INT_MIN(Tom Lane)到目前为止,我们禁止数据类型相关的比较函数返回
INT_MIN,这允许调用者只需对比较结果取反即可颠倒排序顺序。然而,对于直接返回memcmp()、strcmp()等结果的比较函数,这从来都不安全,因为 POSIX 没有对这些函数施加任何此类限制。至少某些最近版本的memcmp()可以返回INT_MIN,导致错误的排序。因此我们移除了这一限制。调用者现在如果想颠倒排序顺序,必须使用INVERT_COMPARE_RESULT()宏。修复共享失效消息处理中的递归风险(Tom Lane)
这个错误可能导致例如无法访问刚被
VACUUM FULL处理过的系统目录或索引。这一更改给
LockAcquire添加了新的结果码,可能影响该函数的外部调用者,尽管只有非常不寻常的使用模式才会有问题。LockAcquireExtended的 API 也有更改。在
SPI_connect()和SPI_finish()期间保存和恢复 SPI 的全局变量(Chapman Flack、Tom Lane)这防止一个使用 SPI 的函数调用另一个时可能的干扰。
在向后分支中提供
ALLOCSET_DEFAULT_SIZES及同级宏(Tom Lane)这些宏自 9.6 起就已存在,但有请求把它们添加到较旧的分支,以便扩展无需针对分支编写特定代码即可依赖它们。
避免使用可能未充分对齐的页缓冲区(Tom Lane)
发明了新的联合类型
PGAlignedBlock和PGAlignedXLogBlock,并用它们代替普通的 char 数组,确保编译器不能把缓冲区放在未对齐的起始地址。这修复了对齐挑剔平台上可能的核心转储,并且即使在允许未对齐的平台上也可能改进性能。使
src/port/snprintf.c遵循 C99 标准对snprintf()结果值的定义(Tom Lane)在使用此代码的平台(主要是 Windows)上,其前 C99 行为可能导致无法检测缓冲区越界(如果调用代码假定 C99 语义)。
在 i386 上用 clang 编译器构建时,要求使用
-msse2(Andres Freund)这避免了浮点溢出检查遗漏的问题。
修复 configure 对
strerror_r()结果类型的检测(Tom Lane)原来的编码在 Linux 上用 icc 构建时(或许其他情况下)得到错误答案,导致 libpq 不能为系统报告的错误返回有用的错误消息。
更新时区数据文件到 tzdata 版本 2018g,涉及智利、斐济、摩洛哥和俄罗斯(伏尔加格勒)的夏令时法规变更,以及中国、夏威夷、日本、澳门和朝鲜的历史修正。