文档版本比较
POSTGRESQL · VERSION COMPARE
PostgreSQL 9.4.23 发布变化
此版本的完整功能、修复与兼容性说明,以及其他版本的关联记录。
包括起始版本之后至目标版本的变化。大版本号表示该分支的首个版本。
从数据库输出识别起始版本
完整发布变化
9.4.23
2019-06-20
9.4.23stable支持截止 2020-02-13
PostgreSQL 9.4.23
迁移与兼容性
对于运行 9.4.X 的用户,不需要转储/恢复。
但是,如果你是从早于 9.4.18 的版本升级,请参见第 E.9 节。
问题修复修复表带有部分排他约束时 ALTER TABLE ... ALTER COLUMN TYPE 的失败
变更
修复表带有部分排他约束时 ALTER TABLE ... ALTER COLUMN TYPE 的失败(Tom Lane)
关联记录 (4)
问题修复修复带重复连接名的查询的错误打印
变更
修复带重复连接名的查询的错误打印(Philip Dubé)
这一疏漏导致包含此类查询的视图在转储/恢复时失败。
问题修复修复正则表达式中 {1,1} 量词的错误优化
变更
修复正则表达式中 {1,1} 量词的错误优化(Tom Lane)
此类量词被当作无操作而被优化掉;但文档规定它们会给所附加的子表达式施加贪婪性,或者对于非贪婪变体 {1,1}? 施加非贪婪性,而这没有发生。只有当子表达式包含捕获圆括号或反向引用时才会出现错误行为。
问题修复修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件
变更
修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件(Tom Lane)
改进避免在未连接到特定数据库的进程中尝试为参数检查做数据库访问
变更
避免在未连接到特定数据库的进程中尝试为参数检查做数据库访问(Vignesh C、Andres Freund)
这个错误可能导致诸如 “cannot read pg_class without having selected a database” 之类的失败。
改进改进 initdb 对系统时区多个等价名称的处理
变更
改进 initdb 对系统时区多个等价名称的处理(Tom Lane、Andrew Gierth)
让 initdb 检查 /etc/localtime 符号链接(如果存在),以在系统时区的等价名称之间打破平局。这使 initdb 在存在多个相同时区时更可能选择用户期望的时区名。如果 /etc/localtime 不是指向时区数据文件的符号链接,或者时区是由 TZ 环境变量确定的,则不会改变行为。
另外,当 TZ 和 /etc/localtime 都未提供提示时,优先选择 UTC 而不是该时区的其他拼法。这修复了 tzdata 2019a 把 UCT 和 UTC 时区名变为等价而引入的烦恼:initdb 随后偏爱 UCT,而几乎没人想要它。
问题修复修复 reindexdb 的误导性错误报告
变更
修复 reindexdb 的误导性错误报告(Julien Rouhaud)
改进在 contrib/postgres_fdw 中,考虑本地 BEFORE ROW UPDATE 触发器可能做的数据修改
变更
在 contrib/postgres_fdw 中,考虑本地 BEFORE ROW UPDATE 触发器可能做的数据修改(Shohei Mochizuki)
如果触发器修改了 UPDATE 本不会更改的列,新值不会被传输到远程服务器。
关联记录 (4)
- 相同变化PostgreSQL 11.4 · 在 contrib/postgres_fdw 中,考虑本地 BEFORE ROW UPDATE 触发器可能进行的数据修改
- 相同变化PostgreSQL 10.9 · 在 contrib/postgres_fdw 中,考虑本地 BEFORE ROW UPDATE 触发器可能进行的数据修改
- 相同变化PostgreSQL 9.6.14 · 在 contrib/postgres_fdw 中,考虑本地 BEFORE ROW UPDATE 触发器可能做的数据修改
- 相同变化PostgreSQL 9.5.18 · 在 contrib/postgres_fdw 中,考虑本地 BEFORE ROW UPDATE 触发器可能做的数据修改
改进在 Windows 上,避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败
变更
在 Windows 上,避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败(Noah Misch)
代码此前假定这种字符串必须是 UTF-8,如果它们看起来不是有效编码就会抛出错误。现在,只是把未翻译的字节传给日志。
关联记录 (4)
- 相同变化PostgreSQL 11.4 · 在 Windows 上,避免数据库编码设置为 SQL_ASCII 时尝试记录非 ASCII 字符串而发生失败
- 相同变化PostgreSQL 10.9 · 在 Windows 上,避免数据库编码设置为 SQL_ASCII 时尝试记录非 ASCII 字符串而发生失败
- 相同变化PostgreSQL 9.6.14 · 在 Windows 上,避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败
- 相同变化PostgreSQL 9.5.18 · 在 Windows 上,避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败
改进使 PL/pgSQL 的头文件对 C++ 安全
变更
使 PL/pgSQL 的头文件对 C++ 安全(George Tarasov)
没有匹配的变化
尝试其他关键词,或 .
如何生成比较结果?
比较依据起始版本之后至目标版本的 PostgreSQL 发布说明。经核实的回补重复项会谨慎合并,保留每条原始说明;相关提交可能涉及独立变化,仍作为不同记录保留。
发布快照: 2026-09-26 · 安全快照: 2026-09-26
内容来自 PostgreSQL 发布说明。交互方式参考 pgversions.com 与 pgversionreport.