↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

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

文档版本对比

POSTGRESQL · VERSION COMPARE

PostgreSQL 9.2.23 的版本变更

本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。

查看该版本全部变更
查看该版本全部变更

从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。

收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。

本次发布的全部变更

9.2.23

2017-08-31

导出 JSON
6项变更功能、修复与改进
1次版本发布按发行版本归档
0个 CVE本版说明中提及的漏洞编号

9.2.23 历史版本维护截止 2017-11-09

PostgreSQL 9.2.23

升级与兼容性说明

对于运行 9.2.X 的用户,不需要进行转储/恢复。

不过,如果你是从早于 9.2.22 的版本升级,请参见第 E.3 节。

其他改进在 information_schema.table_privileges 视图中显示外部表

变更

在 information_schema.table_privileges 视图中显示外部表(Peter Eisentraut)

所有其他相关的 information_schema 视图都包含外部表,只有这一个忽略了它们。

由于这个视图定义是由 initdb 安装的,仅升级不会修复问题。如果需要在现有安装中修复,可以以超级用户身份在 psql 中执行以下操作:

SET search_path TO information_schema;
CREATE OR REPLACE VIEW table_privileges AS
SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor,
       CAST(grantee.rolname AS sql_identifier) AS grantee,
       CAST(current_database() AS sql_identifier) AS table_catalog,
       CAST(nc.nspname AS sql_identifier) AS table_schema,
       CAST(c.relname AS sql_identifier) AS table_name,
       CAST(c.prtype AS character_data) AS privilege_type,
       CAST(
         CASE WHEN
          -- object owner always has grant options
          pg_has_role(grantee.oid, c.relowner, 'USAGE')
          OR c.grantable
          THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable,
       CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy
FROM (
       SELECT oid, relname, relnamespace, relkind, relowner,
              (aclexplode(coalesce(relacl, acldefault('r', relowner))).*
       FROM pg_class ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable),
     pg_namespace nc, pg_authid u_grantor,
     (
       SELECT oid, rolname FROM pg_authid
       UNION ALL
       SELECT 0::oid, 'PUBLIC'
     ) AS grantee (oid, rolname)
WHERE c.relnamespace = nc.oid
      AND c.relkind IN ('r', 'v', 'f')
      AND c.grantee = grantee.oid
      AND c.grantor = u_grantor.oid
      AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER')
      AND (pg_has_role(u_grantor.oid, 'USAGE')
           OR pg_has_role(grantee.oid, 'USAGE')
           OR grantee.rolname = 'PUBLIC');

这必须在每个要修复的数据库中重复,包括 template0。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进清理尝试对失败事务执行 ROLLBACK 时发生致命退出(例如因收到 SIGTERM)的处理

变更

清理尝试对失败事务执行 ROLLBACK 时发生致命退出(例如因收到 SIGTERM)的处理(Tom Lane)

这种情况可能导致断言失败。在生产构建中退出仍会发生,但会记录一条关于“cannot drop active portal”的意外消息。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进移除致命退出期间可能触发的断言

变更

移除致命退出期间可能触发的断言(Tom Lane)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进正确识别范围类型或基于被搜索复合类型或域类型的域类型之上的列

变更

正确识别范围类型或基于被搜索复合类型或域类型的域类型之上的列(Tom Lane)

某些更改复合类型或域类型定义的 ALTER 命令本应在该类型有存储值时失败,因为它们缺少更新或检查这类值所需的基础设施。此前这些检查可能遗漏包裹在范围类型或子域中的相关值,可能允许数据度变得不一致。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进更改 ecpg 的解析器允许不带 C 变量的 RETURNING 子句

变更

更改 ecpg 的解析器允许不带 C 变量的 RETURNING 子句(Michael Meskes)

这允许 ecpg 程序包含在内部使用 RETURNING(例如在 CTE 内)而不是用它定义返回给客户端的值的 SQL 构造。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进改进 Windows 上 PL/Perl 编译器标志的选择

变更

改进 Windows 上 PL/Perl 编译器标志的选择(Tom Lane)

此修复避免了因对 time_t 值宽度的假定不一致而可能的 PL/Perl 崩溃。扩展开发者可能看到的一个副作用是 _USE_32BIT_TIME_T 不再在 PostgreSQL Windows 构建中全局定义。这预计不会引起问题,因为 time_t 类型没有用于任何 PostgreSQL API 定义。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

这份对比如何生成?

对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。

条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。

同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。

CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。

交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。