PostgreSQL 18 - Chinese
authorJonathan S. Katz <jonathan.katz@excoventures.com>
Wed, 24 Sep 2025 14:44:42 +0000 (10:44 -0400)
committerJonathan S. Katz <jonathan.katz@excoventures.com>
Wed, 24 Sep 2025 14:44:42 +0000 (10:44 -0400)
Author: Xueyu Gao <gaoxueyu@highgo.com>
Author: Ruike Sun <sunrk@highgo.com>
Author: Grant Zhou <grantzhou@gmail.com>

releases/18/release.zh.md [new file with mode: 0644]

diff --git a/releases/18/release.zh.md b/releases/18/release.zh.md
new file mode 100644 (file)
index 0000000..15f1668
--- /dev/null
@@ -0,0 +1,165 @@
+2025 年 9 月 25 日 - [PostgreSQL 全球开发组](https://www.postgresql.org)宣布[PostgreSQL 18](https://www.postgresql.org/docs/18/release-18.html)正式发布,作为世界上最先进的开源数据库,PostgreSQL 18 是目前的最新版本。
+
+PostgreSQL 18 通过全新的 I/O 子系统提升了各种规模工作负载的性能,在从存储读取数据时实现了高达 3 倍的性能提升,并增加了可使用索引的查询数量。该版本降低了主版本升级的影响,加速了升级速度,并缩短了升级完成后达到预期性能所需的时间。开发者也能从PostgreSQL 18的功能中获益,包括可在查询时动态计算值的虚拟生成列,以及提升数据库易用性并能为UUID提供更优索引和读取性能的 `uuidv7()` 函数。PostgreSQL 18 支持 OAuth 2.0 身份验证,使其更易于与单点登录(SSO)系统集成。
+
+PostgreSQL 核心团队成员 Jonathan Katz 表示,“全球开源社区的共同努力铸就了每一次 PostgreSQL 版本的发布,并持续带来符合用户数据场景的功能。PostgreSQL 18 延续了该项目长久以来提供可靠、稳健数据管理体验的深厚传统,并进一步扩展了其可支持的工作负载范围。”
+
+PostgreSQL是一个创新的数据管理系统,以其可靠性和健壮性著称,得益于全球开发者社区近30年的开源开发,已经成为各种规模组织的首选开源关系型数据库。
+
+---
+
+### 异步 I/O 简介
+
+PostgreSQL 此前依赖操作系统的预读机制来加速数据检索。然而,操作系统无法感知数据库特有的访问模式,难以准确预测所需数据,导致在许多工作负载场景下性能欠佳。
+
+PostgreSQL 18 引入了新的异步 I/O (AIO) 子系统来解决这一局限。AIO 允许 PostgreSQL 并发地发出多个 I/O 请求,而不是等待每个请求顺序完成,从而增强了现有的预读能力并提高整体吞吐量。PostgreSQL 18 支持的 AIO 操作包括顺序扫描、位图堆扫描和清理(VACUUM)。基准测试显示,在某些场景下性能提升高达 3 倍。
+
+新的[`io_method`](https://www.postgresql.org/docs/18/runtime-config-resource.html#GUC-IO-METHOD)参数允许用户在 `worker` 和 `io_uring` 等 AIO 方法之间切换,也可以通过设置 `sync` 参数保持 PostgreSQL 现有行为。AIO 带来了更丰富的调优维度,详细配置请参考[官方文档](https://www.postgresql.org/docs/18/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-IO)。
+
+---
+
+### 升级提速且性能跃升
+
+PostgreSQL 的一项关键特性是生成并存储[统计信息](https://www.postgresql.org/docs/18/planner-stats.html),有助于 PostgreSQL 选择最优的查询计划。在 PostgreSQL 18 之前,这些统计信息无法在[主版本升级](https://www.postgresql.org/docs/18/pgupgrade.html)过程中保留,导致高负载系统在[`ANALYZE`](https://www.postgresql.org/docs/18/sql-analyze.html)完成前查询性能骤降。PostgreSQL 18 引入了在主版本升级时保留规划器统计信息的能力,这有助于升级后的集群更快地达到预期性能。
+
+此外,主版本升级工具[`pg_upgrade`](https://www.postgresql.org/docs/18/pgupgrade.html)在 PostgreSQL 18 中迎来多项增强,例如当数据库包含大量表和序列等对象时,升级速度显著提升。此版本还支持通过 `--jobs` 参数配置并行检查,并新增了 `--swap` 参数,通过直接交换升级目录的方式替代原有的复制、克隆或链接文件操作。
+
+---
+
+### 查询与整体性能提升
+
+PostgreSQL 18 通过一系列能自动提升工作负载速度的功能,进一步提升了查询性能。此版本引入了对[多列 B-tree 索引](https://www.postgresql.org/docs/18/indexes-multicolumn.html)上的“跳跃扫描”查找,可缩短在查询中省略一个或多个前缀索引列等值(`=`)条件时的执行时间。它还可以优化 `WHERE` 子句中使用 `OR` 条件的查询,使其有效利用索引,大幅提升执行速度。此外,PostgreSQL 对表连接的执行计划和处理进行了多项改进,包括提升哈希连接性能、允许合并连接使用增量排序等。PostgreSQL 18 还支持[GIN 索引](https://www.postgresql.org/docs/18/gin.html)的并行构建,与 B-tree 和[BRIN 索引](https://www.postgresql.org/docs/current/brin.html)索引一样具备该能力。
+
+该版本还进一步增强了 PostgreSQL 对硬件加速的支持,包括为 `popcount` 函数添加对 ARM NEON 和 SVE CPU 内置指令集的支持,该函数被[`bit_count`](https://www.postgresql.org/docs/18/functions-bitstring.html)和其他内部功能使用。
+
+---
+
+### 提升开发者体验
+
+PostgreSQL 18 引入了[虚拟生成列](https://www.postgresql.org/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-GENERATED-STORED),其数值在查询时实时计算而非直接存储,现已成为生成列的默认选项。此外,存储型生成列现已支持逻辑复制。
+
+该版本新增了在[`RETURNING` 子句](https://www.postgresql.org/docs/18/dml-returning.html)中同时访问修改前(`OLD`)与当前(`NEW`)数值的能力,适用于 `INSERT`、`UPDATE`、`DELETE` 和 `MERGE` 命令。 PostgreSQL 18 还通过[`uuidv7()`](https://www.postgresql.org/docs/18/functions-uuid.html#FUNC_UUID_GEN_TABLE)函数新增了 UUIDv7 生成功能,可生成按时间戳排序的随机 UUID,有助于优化缓存策略。[`uuidv4()`](https://www.postgresql.org/docs/18/functions-uuid.html#FUNC_UUID_GEN_TABLE)也作为 `gen_random_uuid()` 的别名被引入到PostgreSQL 18 。
+
+PostgreSQL 18 新增了对时间范围约束的支持:通过 `WITHOUT OVERLAPS` 子句,可在主键(`PRIMARY KEY`)和唯一(`UNIQUE`)约束中定义不重叠的范围;通过 PERIOD 子句,可为外键(`FOREIGN KEY`)约束定义[时间区间](https://www.postgresql.org/docs/devel/sql-createtable.html#SQL-CREATETABLE-PARMS-UNIQUE)关系。
+
+最后,PostgreSQL 18 引入了[`CREATE FOREIGN TABLE ... LIKE`](https://www.postgresql.org/docs/18/sql-createforeigntable.html)命令,可依据本地表的定义更便捷地创建外部表的模式结构。
+
+---
+
+### 文本处理增强
+
+PostgreSQL 18 通过多项新特性使文本处理更简单、更快速。此版本新增了[`PG_UNICODE_FAST`](https://www.postgresql.org/docs/18/collation.html#COLLATION-MANAGING-STANDARD)排序规则,该规则在提供完整的Unicode大小写转换语义的同时,显著提升了多种比较操作的性能,涵盖 `upper` 和 `lower` 字符串比较函数,以及用于大小写不敏感比较的新[`casefold`](https://www.postgresql.org/docs/18/functions-string.html#FUNCTIONS-STRING-OTHER)函数。此外,PostgreSQL 18 现在支持对使用[非确定性排序规则](https://www.postgresql.org/docs/18/collation.html#COLLATION-NONDETERMINISTIC)的文本进行 `LIKE` 比较,简化了复杂模式匹配的实现。本版本还调整了[全文检索](https://www.postgresql.org/docs/18/textsearch.html)的实现机制,使其采用数据库集群的默认排序提供程序,而非始终依赖 libc,这一变化可能导致在运行[`pg_upgrade`](https://www.postgresql.org/docs/18/pgupgrade.html)后,需要为所有[全文检索](https://www.postgresql.org/docs/18/textsearch-tables.html#TEXTSEARCH-TABLES-INDEX)及[`pg_trgm`](https://www.postgresql.org/docs/18/pgtrgm.html#PGTRGM-INDEX)索引执行重建操作。
+
+---
+
+### 认证与安全功能
+
+PostgreSQL 18 引入了[`oauth` 认证](https://www.postgresql.org/docs/18/auth-oauth.html)认证功能,允许用户通过 PostgreSQL 扩展支持的 OAuth 2.0 机制进行身份验证。此外,该版本增加了对 [FIPS 模式](https://www.postgresql.org/docs/18/pgcrypto.html#PGCRYPTO-OPENSSL-SUPPORT-FUNCS)的验证支持, 并新增[`ssl_tls13_ciphers`](https://www.postgresql.org/docs/18/runtime-config-connection.html#GUC-SSL-TLS13-CIPHERS)参数,用于配置服务器端 TLS v1.3 密码套件。
+
+本版本已弃用 `md5` 密码认证方式,并将在未来版本中移除。如需要基于密码的身份验证,建议采用 [SCRAM 认证](https://www.postgresql.org/docs/18/auth-password.html)方式。PostgreSQL 18 还支持在[`postgres_fdw`](https://www.postgresql.org/docs/18/postgres-fdw.html)和[`dblink`](https://www.postgresql.org/docs/18/dblink.html)中通过 SCRAM 透传认证,对远程 PostgreSQL 实例进行身份验证。此外,[`pgcrypto`](https://www.postgresql.org/docs/18/pgcrypto.html)模块现已支持使用[SHA-2 算法](https://www.postgresql.org/docs/18/pgcrypto.html#PGCRYPTO-CRYPT-ALGORITHMS)进行密码哈希加密。
+
+---
+
+### 复制
+
+PostgreSQL 18 支持在日志和[`pg_stat_subscription_stats`](https://www.postgresql.org/docs/18/monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION-STATS)视图中报告逻辑复制写入冲突。此外,[`CREATE SUBSCRIPTION`](https://www.postgresql.org/docs/18/sql-createsubscription.html)现默认使用并行流式方式来应用事务,有助于提升复制性能。[`pg_createsubscriber`](https://www.postgresql.org/docs/18/app-pgcreatesubscriber.html)工具新增了 `--all` 参数,可以通过一条命令为实例中的所有数据库创建逻辑副本。 PostgreSQL 18 持自动[删除空闲复制槽](https://www.postgresql.org/docs/18/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT),避免在发布服务器上积压过多WAL日志。
+
+---
+
+### 维护与可观测性
+
+PostgreSQL 18 改进了[vacuum](https://www.postgresql.org/docs/18/routine-vacuuming.html)策略,通过在常规 vacuum 期间主动冻结更多页面来减少开销,并在需要激进清理的情况下提供了帮助。
+
+PostgreSQL 18 为[`EXPLAIN`](https://www.postgresql.org/docs/18/using-explain.html)命令提供了更详细的执行信息,自此版本起,在执行 `EXPLAIN ANALYZE` 时会自动显示访问的缓冲区数量(数据存储的基本单位)。此外,`EXPLAIN ANALYZE` 现在会显示索引扫描期间发生的索引查找次数,而 `EXPLAIN ANALYZE VERBOSE` 则会包含 CPU、WAL 和平均读取统计信息。PostgreSQL 18 还在[`pg_stat_all_tables`](https://www.postgresql.org/docs/18/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW)视图增加了有关 VACUUM 及相关操作耗时统计,以及按连接统计的 I/O 和 WAL 使用情况数据。
+
+---
+
+### 其他重要变更
+
+通过 PostgreSQL 18 [`initdb`](https://www.postgresql.org/docs/18/app-initdb.html)初始化的数据库, 现在默认启用页校验和 (page checksums)。这会影响从未启用校验和的集群升级,在使用[`pg_upgrade`](https://www.postgresql.org/docs/18/pgupgrade.html)时需要使用 `--no-data-checksums` 参数创建一个新的 PostgreSQL 18 集群。
+
+PostgreSQL 18推出了新版(3.2)的PostgreSQL通信协议,这是自2003年PostgreSQL 7.4发布以来的首个重大更新。目前,[`libpq`](https://www.postgresql.org/docs/18/libpq-connect.html)库仍默认使用3.0版本协议,而客户端工具(如驱动程序、连接池、代理服务器等)将逐步增加对新协议版本的支持。
+
+---
+
+### 其他功能
+
+PostgreSQL 18还新增了许多其他新功能和改进,这些可能对您的使用场景有所帮助。请查看[发布说明](https://www.postgresql.org/docs/18/release-18.html),以获取完整的新功能和更改列表。
+
+---
+
+### 关于 PostgreSQL
+
+[PostgreSQL](https://www.postgresql.org)是世界上最先进的开源数据库,拥有一个数以千计的用户、贡献者、公司和组织组成的全球社区。PostgreSQL起源于加利福尼亚大学伯克利分校,已经有超过40年的历史,并且以无与伦比的速度持续发展。PostgreSQL成熟的特性不仅与顶尖商业数据库系统相媲美,而且在高级数据库功能、可扩展性、安全性和稳定性方面超越了它们。
+
+---
+
+### 链接
+
+* [下载](https://www.postgresql.org/download/)
+* [发行说明](https://www.postgresql.org/docs/18/release-18.html)
+* [新闻资料](https://www.postgresql.org/about/press/)
+* [安全页面](https://www.postgresql.org/support/security/)
+* [版本策略](https://www.postgresql.org/support/versioning/)
+* [联系我们](https://www.postgresql.org/about/contact/)
+* [捐赠](https://www.postgresql.org/about/donate/)
+
+---
+
+## 更多功能
+
+关于上述功能和其他功能的解释,请参见以下资源:
+
+* [发行说明](https://www.postgresql.org/docs/18/release-18.html)
+* [功能列表](https://www.postgresql.org/about/featurematrix/)
+
+---
+
+## 下载方式
+
+您可以通过以下几种方式下载 PostgreSQL 18,包括:
+
+* [官方下载页面](https://www.postgresql.org/download/),包含[Windows](https://www.postgresql.org/download/windows/)、[Linux](https://www.postgresql.org/download/linux/)、[macOS](https://www.postgresql.org/download/macosx/) 等多个平台的安装程序和工具。
+* [源代码](https://www.postgresql.org/ftp/source/v18.0)
+
+更多工具和扩展可在[PostgreSQL Extension Network](http://pgxn.org/)获取。
+
+---
+
+## 文档
+
+PostgreSQL 18 附带了HTML文档和手册,您也可以在线浏览[HTML](https://www.postgresql.org/docs/18/)和[PDF](https://www.postgresql.org/files/documentation/pdf/18/postgresql-18-US.pdf)格式的文档。
+
+---
+
+## 许可证
+
+PostgreSQL 使用[PostgreSQL 许可证](https://www.postgresql.org/about/licence/),这是一种类似 BSD 的“宽松”许可证。这种经[OSI认证的许可证](http://www.opensource.org/licenses/postgresql/)因其灵活性和对商业友好而受到广泛赞誉,因为它不限制在商业和专有应用程序中使用PostgreSQL。加上多公司支持和代码的公共所有权,该许可证使PostgreSQL非常受欢迎,因为供应商希望在自己的产品中嵌入数据库,而无需担心费用、供应商锁定或许可条款变更。
+
+---
+
+## 联系方式
+
+网站
+
+* [https://www.postgresql.org/](https://www.postgresql.org/)
+
+邮箱
+
+* [press@postgresql.org](mailto:press@postgresql.org)
+
+---
+
+## 图像和标志
+
+Postgres、PostgreSQL和大象标志(Slonik)都是[PostgreSQL 社区协会](https://www.postgres.ca)的注册商标。如果您希望使用这些标志,您必须遵守[商标政策](https://www.postgresql.org/about/policies/trademarks/)。
+
+---
+
+## 企业支持和捐赠
+
+PostgreSQL得到了许多公司的支持,他们赞助开发人员,提供托管资源,并给予我们财务支持。请查看我们的[赞助商](https://www.postgresql.org/support/professional_support/)页面,了解这些项目的支持者。
+
+还有大量[提供PostgreSQL支持的公司](https://www.postgresql.org/support/professional_support/),包括个人顾问和跨国公司。
+
+如果您希望对PostgreSQL全球开发组或其中一个公认的社群非营利组织进行捐赠,请访问我们的[捐赠](https://www.postgresql.org/about/donate/)页面。