版本 8.0.16

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 附录 E. 版本说明 | 下一页

# E.172. 版本 8.0.16

> 发布日期: never released

这个版本包含各种自8.0.15以来的修复。关于8.0主版本的新特性信息， 请参阅第 E.188 节。

## E.172.1. 迁移到版本 8.0.16

运行8.0.X的用户不需要转储/恢复。不过，如果你是从一个早于8.0.6的版本升级而来， 那么请参阅第 E.182 节。

## E.172.2. 修改列表

- 修复`ALTER TABLE ADD COLUMN ... PRIMARY KEY`， 以便新的字段被正确的检查，看看是否它被初始化为所有非空 (Brendan Jurd)

  以前的版本忽略了检查这个必要条件。

- 修复从多个来自相同祖先的父关系中继承"相同"约束时， 可能的`CREATE TABLE`失败 (Tom)

- 修复ISO-8859-5和其他编码之间的转换，以处理Cyrillic "Yo"字符 (`e`和`E`带有两个点） (Sergey Burladyan)

- 修复一些允许未使用的字节出现在它们的结果中包含未初始化的、 不可预计的值的日期类型输入函数 (Tom)

  这会导致两个看起来相同的文字值不被认为相等的失败，导致分析器抱怨不匹配的 `ORDER BY`和`DISTINCT`表达式。

- 修复正则表达式子串匹配中的极端情况 (`substring(`string` from `pattern`)`) (Tom)

  这个问题出现在：有一个到整个模式的匹配，但是用户指定了一个在括号中的子表达式， 并且该子表达式没有获得匹配的情况。一个例子是：`substring('foo' from 'foo(bar)?')`。 这应该返回NULL，因为`(bar)`没有匹配，但是它错误的返回了整个模式匹配 （也就是`foo`）。

- 更新时区数据文件到tzdata版本2008c （因为DST规律在Morocco, Iraq, Choibalsan, Pakistan, Syria, Cuba, Argentina/San_Luis, 和Chile改变了）

- 修复ecpg的`PGTYPEStimestamp_sub()` 函数中的不正确的结果 (Michael)

- 修复输入查询返回一个NULL值时，`contrib/xml2`的 `xpath_table()`函数中的内核转储 (Tom)

- 修复`contrib/xml2`的makefile，以不覆盖`CFLAGS` (Tom)

- 修复`DatumGetBool` macro，使其不在使用gcc 4.3时失败 (Tom)

  这个问题影响返回布尔值的"old style" (V0) C函数。 该修复在8.3中就已经有了，但是返回打补丁的需要在当时并没有意识到。

- 修复长期存在的`LISTEN`/`NOTIFY`竞态条件 (Tom)

  在少数情况下，一个刚刚执行了`LISTEN`的会话可能不会得到一个通知， 即使预计是有的，因为并发的事务执行`NOTIFY`是在提交后观察。

  该修复的副作用是一个执行了至今未提交的`LISTEN`命令的事务， 将不会看到该`LISTEN`的任何`pg_listener`中的行， 而它应该选择查看的；以前的它是查看的。这个行为从未记录过， 但是有可能一些应用依赖于老的行为。

- 修复查询使用哈希索引期间发生错误时的少见的崩溃 (Heikki)

- 修复二月29在公元前的年中的日期时间值的输入 (Tom)

- 中文在此。。。

- 中文在此。。。

  中文在此。。。

- 中文在此。。。

  中文在此。。。

- 中文在此。。。

  中文在此。。。

- 中文在此。。。

  中文在此。。。

上一页 | 起始页 | 下一页
版本 8.0.17 | 上一级 | 版本 8.0.15