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

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

文档版本对比

POSTGRESQL · VERSION COMPARE

PostgreSQL 19beta4 的版本变更

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

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

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

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

PostgreSQL 19beta4 尚未正式发布;以下为该构建的发布说明快照。

本次发布的全部变更

19beta4

快照 2026-09-14

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

19.0 尚未正式发布

PostgreSQL 19beta4

升级与兼容性说明

对于想从任何先前版本迁移数据的用户,需要使用pg_dumpall执行导出/恢复,或者使用pg_upgrade,或者使用逻辑复制。有关迁移到新主版本的一般信息,请参见第 18.6 节。

19 版本包含若干可能影响与先前版本兼容性的更改。请注意以下不兼容项:

兼容性变化新增服务器变量 password_expiration_warning_threshold,用于提示密码即将过期

兼容性

新增服务器变量 password_expiration_warning_threshold,用于提示密码即将过期(Gilles Darold,Nathan Bossart)§

默认警告期为七天。

兼容性变化在成功完成 MD5 密码认证后发出警告

兼容性

在成功完成 MD5 密码认证后发出警告(Nathan Bossart)§

可以通过服务器变量 md5_password_warnings 禁用该警告。MD5 密码已在 PostgreSQL 18 中被标记为弃用。

兼容性变化移除 RADIUS 支持

兼容性

移除 RADIUS 支持(Thomas Munro)§

PostgreSQL 只支持通过 UDP 的 RADIUS,而这存在无法修复的安全问题。

兼容性变化强制数据库服务器中的 standard_conforming_strings 始终为 on

兼容性

强制数据库服务器中的 standard_conforming_strings 始终为 on(Tom Lane)§

使用 PostgreSQL 19 之前版本的pg_dump或pg_dumpall创建、且使用了 standard_conforming_strings = off 的转储,将无法正确载入 PostgreSQL 19 及更高版本的服务器。用户应使用这些应用程序的 PostgreSQL 19 或更高版本创建转储,或者使用 standard_conforming_strings = on。

为了兼容旧服务器,客户端应用程序仍然支持在 standard_conforming_strings = off 的服务器上执行操作。服务器变量 escape_string_warning 已被移除,因为已无必要。

兼容性变化禁止数据库名、角色名和表空间名中出现回车和换行

兼容性

禁止数据库名、角色名和表空间名中出现回车和换行(Mahendra Singh Thalor)§

这样做是为了避免安全问题。pg_upgrade也会拒绝升级那些使用此类名称的数据库集簇。

兼容性变化将 inet 和 cidr 数据类型的默认索引操作符类从btree_gist改为 GiST

兼容性

将 inet 和 cidr 数据类型的默认索引操作符类从btree_gist改为 GiST(Tom Lane)§ §

btree_gist的 inet/cidr 操作符类存在缺陷,因为它们可能排除本应返回的行。pg_upgrade将拒绝升级包含btree_gist inet/cidr 索引的数据库集簇。

兼容性变化禁止在 COPY FROM ... WHERE 中使用系统列

兼容性

禁止在 COPY FROM ... WHERE 中使用系统列(Tom Lane)§

这些列的值并未明确定义。

兼容性变化将不返回任何行的 json_array() 调用改为返回空 JSON 数组

兼容性

将不返回任何行的 json_array() 调用改为返回空 JSON 数组(Richard Guo)§

此前会返回 NULL。

兼容性变化让事务把其 READ ONLY 和 DEFERRABLE 状态传递给postgres_fdw会话

兼容性

让事务把其 READ ONLY 和 DEFERRABLE 状态传递给postgres_fdw会话(Etsuro Fujita)§

这意味着 READ ONLY 事务将不能再修改由postgres_fdw会话处理的行。

兼容性变化将 max_locks_per_transaction 的默认值从 64 改为 128

兼容性

将 max_locks_per_transaction 的默认值从 64 改为 128(Heikki Linnakangas)§

锁大小分配方式已经改变,因此要达到与先前版本相同的容量,实际上现在必须将设置值翻倍。

兼容性变化默认禁用 JIT

兼容性

默认禁用 JIT(Jelte Fennema-Nio)§

之前 JIT 默认启用,并根据优化器代价决定是否激活。不幸的是,这种代价估算被认为并不可靠,因此需要大量运行大型分析查询的站点手工启用 JIT。

兼容性变化将 sync_error_count 重命名为 sync_table_error_count,该列位于系统视图 pg_stat_subscription_stats 中

兼容性

将 sync_error_count 重命名为 sync_table_error_count,该列位于系统视图 pg_stat_subscription_stats 中(Vignesh C)§

这是因为现在会单独跟踪序列错误。

关联记录(1)

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

兼容性变化将等待事件类型 BUFFERPIN 重命名为 BUFFER

兼容性

将等待事件类型 BUFFERPIN 重命名为 BUFFER(Andres Freund)§

兼容性变化将索引访问方法处理器改为使用静态分配的 IndexAmRoutines 结构体,而不是动态分配的结构体

兼容性

将索引访问方法处理器改为使用静态分配的 IndexAmRoutines 结构体,而不是动态分配的结构体(Matthias van de Meent)§

兼容性变化移除优化器钩子 get_relation_info_hook,并新增位置更合适的钩子 build_simple_rel_hook

兼容性

移除优化器钩子 get_relation_info_hook,并新增位置更合适的钩子 build_simple_rel_hook(Robert Haas)§

兼容性变化修改psql的 \crosstabview 命令,使其遵循 \pset null 设置

兼容性

修改psql的 \crosstabview 命令,使其遵循 \pset null 设置(Chao Li)§

兼容性变化移除 MULE_INTERNAL 编码

兼容性

移除 MULE_INTERNAL 编码(Thomas Munro)§

这种编码很复杂,而且很少使用。使用它的数据库将需要使用不同的编码进行导出和恢复。

新功能在不存在 NULL 时,允许将 NOT IN 转换为更高效的 ANTI JOIN

服务器 / 优化器

在不存在 NULL 时,允许将 NOT IN 转换为更高效的 ANTI JOIN(Richard Guo)§

新功能允许更多 LEFT JOIN 转换为 ANTI JOIN

服务器 / 优化器

允许更多 LEFT JOIN 转换为 ANTI JOIN(Tender Wang,Richard Guo)§

新功能允许在唯一内侧的 ANTI JOIN 中使用 Memoize

服务器 / 优化器

允许在唯一内侧的 ANTI JOIN 中使用 Memoize(Richard Guo)§

新功能允许在连接之前先执行某些聚合处理

服务器 / 优化器

允许在连接之前先执行某些聚合处理(Richard Guo,Antonin Houska)§§§

这可以减少需要处理的行数。

新功能改进哈希连接对带 NULL 连接键元组的处理

服务器 / 优化器

改进哈希连接对带 NULL 连接键元组的处理(Tom Lane)§

新功能改进半连接规划

服务器 / 优化器

改进半连接规划(Richard Guo)§

新功能允许 Append 和 MergeAppend 考虑显式增量排序

服务器 / 优化器

允许 Append 和 MergeAppend 考虑显式增量排序(Richard Guo)§

新功能在常量折叠期间将 IS [NOT] DISTINCT FROM NULL 转换为 IS [NOT] NULL

服务器 / 优化器

在常量折叠期间将 IS [NOT] DISTINCT FROM NULL 转换为 IS [NOT] NULL(Richard Guo)§

后一种形式更易优化。

新功能当输入被证明非空时,将 IS [NOT] DISTINCT FROM 简化为等值/不等值操作符

服务器 / 优化器

当输入被证明非空时,将 IS [NOT] DISTINCT FROM 简化为等值/不等值操作符(Richard Guo)§

新功能在优化器中更早地对 var IS [NOT] NULL 做常量折叠

服务器 / 优化器

在优化器中更早地对 var IS [NOT] NULL 做常量折叠(Richard Guo)§

这为后续优化创造了条件。

新功能简化 COALESCE() 和 ROW(...) IS [NOT] NULL,以避免求值不必要的参数

服务器 / 优化器

简化 COALESCE() 和 ROW(...) IS [NOT] NULL,以避免求值不必要的参数(Richard Guo)§§

新功能当输入被证明非空时,将 IS [NOT] TRUE/FALSE/UNKNOWN 简化为普通 boolean 表达式

服务器 / 优化器

当输入被证明非空时,将 IS [NOT] TRUE/FALSE/UNKNOWN 简化为普通 boolean 表达式(Richard Guo)§

性能改进加快大统计目标下的连接选择率计算

服务器 / 优化器

加快大统计目标下的连接选择率计算(Ilia Evdokimov,David Geier)§

新功能为返回 boolean 值的函数启用正确的优化器统计信息

服务器 / 优化器

为返回 boolean 值的函数启用正确的优化器统计信息(Tom Lane)§

新功能允许在虚拟生成列上使用扩展统计信息

服务器 / 优化器

允许在虚拟生成列上使用扩展统计信息(Yugo Nagata)§

新功能允许 pg_restore_extended_stats() 恢复优化器扩展统计信息

服务器 / 优化器

允许 pg_restore_extended_stats() 恢复优化器扩展统计信息(Corey Huinker,Michael Paquier,Chao Li)§§§§

新功能新增函数 pg_clear_extended_stats() 用于删除扩展统计信息

服务器 / 优化器

新增函数 pg_clear_extended_stats() 用于删除扩展统计信息(Corey Huinker,Michael Paquier)§

新功能调整优化器,使其在部分路径决策时考虑启动代价

服务器 / 优化器

调整优化器,使其在部分路径决策时考虑启动代价(Robert Haas,Tomas Vondra)§

新功能允许 pg_aggregate.aggtransspace 为负值,以表示内存使用没有上限

服务器 / 优化器

允许 pg_aggregate.aggtransspace 为负值,以表示内存使用没有上限(Richard Guo)§

该信息会被优化器用于规划内存使用。

性能改进改进外键约束检查性能

服务器 / 常规性能

改进外键约束检查性能(Junwang Zhao,Amit Langote,Chao Li)§§

性能改进改进大请求下异步 I/O读预取调度

服务器 / 常规性能

改进大请求下异步 I/O读预取调度(Andres Freund)§§§

性能改进允许 io_method = "worker" 自动控制所需后台工作进程

服务器 / 常规性能

允许 io_method = "worker" 自动控制所需后台工作进程(Thomas Munro)§

新增服务器变量 io_min_workers、io_max_workers、io_worker_idle_timeout 和 io_worker_launch_interval。

性能改进允许查询中的表扫描在可见性映射中将页面标记为全可见

服务器 / 常规性能

允许查询中的表扫描在可见性映射中将页面标记为全可见(Melanie Plageman)§

此前只有 VACUUM 和 COPY ... FREEZE 可以做到这一点。

性能改进允许自动清理使用并行自动清理工作进程

服务器 / 常规性能

允许自动清理使用并行自动清理工作进程(Daniil Davydov)§§

工作进程的最大数量由服务器变量 autovacuum_max_parallel_workers 和每表存储参数 autovacuum_parallel_workers 控制。

性能改进允许 TID 范围扫描并行执行

服务器 / 常规性能

允许 TID 范围扫描并行执行(Cary Huang,David Rowley)§

性能改进使用 SIMD CPU 指令提升 COPY FROM 处理文本和 CSV 输入的性能

服务器 / 常规性能

使用 SIMD CPU 指令提升 COPY FROM 处理文本和 CSV 输入的性能(Nazir Bilal Yavuz,Shinya Kato)§

性能改进改进 NOTIFY,使其只唤醒正在监听指定通知的后端

服务器 / 常规性能

改进 NOTIFY,使其只唤醒正在监听指定通知的后端(Joel Jacobson)§

此前大多数后端都会被 NOTIFY 唤醒。

性能改进将 wal_compression 等于 on 时的行为改为使用可用的最佳 WAL 压缩方法

服务器 / 常规性能

将 wal_compression 等于 on 时的行为改为使用可用的最佳 WAL 压缩方法(wenhui qiu)§

此前始终使用 pglz。

性能改进将 TOAST 压缩默认方法从 pglz 改为更高效的 lz4

服务器 / 常规性能

将 TOAST 压缩默认方法从 pglz 改为更高效的 lz4(Euler Taveira)§

通过修改服务器变量 default_toast_compression 的默认值实现。

性能改进改进内部行展开性能

服务器 / 常规性能

改进内部行展开性能(David Rowley)§

性能改进改进重复执行 UTF-8 大小写折叠操作的性能

服务器 / 常规性能

改进重复执行 UTF-8 大小写折叠操作的性能(Andreas Karlsson)§

性能改进使用流式读取改进 hash 索引批量删除和 GIN 索引清理的性能

服务器 / 常规性能

使用流式读取改进 hash 索引批量删除和 GIN 索引清理的性能(Xuneng Zhou)§ §

性能改进使用基数排序改进排序性能

服务器 / 常规性能

使用基数排序改进排序性能(John Naylor)§

性能改进改进计时性能测量

服务器 / 常规性能

改进计时性能测量(Lukas Fittl、Andres Freund、David Geier)§§

这有利于 EXPLAIN (ANALYZE, TIMING) 和pg_test_timing,并由服务器变量 timing_clock_source 控制。

性能改进优化plpgsql语法 SELECT simple-expression INTO var

服务器 / 常规性能

优化plpgsql语法 SELECT simple-expression INTO var(Tom Lane)§

新功能新增系统视图 pg_stat_lock 和函数 pg_stat_get_lock(),用于报告每种锁类型的统计信息

服务器 / 系统视图

新增系统视图 pg_stat_lock 和函数 pg_stat_get_lock(),用于报告每种锁类型的统计信息(Bertrand Drouvot)§

新功能新增系统视图 pg_stat_recovery,用于报告恢复状态

服务器 / 系统视图

新增系统视图 pg_stat_recovery,用于报告恢复状态(Xuneng Zhou,Shinya Kato)§§

新功能新增系统视图 pg_stat_autovacuum_scores,用于报告每表自动清理细节

服务器 / 系统视图

新增系统视图 pg_stat_autovacuum_scores,用于报告每表自动清理细节(Sami Imseih)§

新功能新增系统视图 pg_dsm_registry_allocations,用于报告动态共享内存细节

服务器 / 系统视图

新增系统视图 pg_dsm_registry_allocations,用于报告动态共享内存细节(Florents Tselai,Nathan Bossart)§§

新功能在系统视图 pg_stat_progress_vacuum 中新增清理启动细节

服务器 / 系统视图

在系统视图 pg_stat_progress_vacuum 中新增清理启动细节(Shinya Kato)§

新的 started_by 列报告清理的发起者,mode 则表示其激进程度。

新功能在系统视图 pg_stat_progress_analyze 中新增分析启动细节

服务器 / 系统视图

在系统视图 pg_stat_progress_analyze 中新增分析启动细节(Shinya Kato)§

新的 started_by 列报告分析的发起者。

新功能新增 mem_exceeded_count 列到系统视图 pg_stat_replication_slots

服务器 / 系统视图

新增 mem_exceeded_count 列到系统视图 pg_stat_replication_slots(Bertrand Drouvot)§

它用于报告 logical_decoding_work_mem 被超过的次数。

新功能在 pg_stat_replication_slots 和 pg_replication_slots 中新增复制槽同步跳过信息

服务器 / 系统视图

在 pg_stat_replication_slots 和 pg_replication_slots 中新增复制槽同步跳过信息(Shlok Kyal)§§§

新增列为 slotsync_skip_count、slotsync_last_skip 和 slotsync_skip_reason。

新功能新增 update_deleted 列到系统视图 pg_stat_subscription_stats

服务器 / 系统视图

新增 update_deleted 列到系统视图 pg_stat_subscription_stats(Zhijie Hou)§

该列报告因并发删除而忽略更新的行数。这要求订阅者启用 retain_dead_tuples。

新功能新增 sync_seq_error_count 列到系统视图 pg_stat_subscription_stats,用于报告序列同步错误

服务器 / 系统视图

新增 sync_seq_error_count 列到系统视图 pg_stat_subscription_stats,用于报告序列同步错误(Vignesh C)§§

关联记录(1)

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

新功能新增 stats_reset 列到系统视图 pg_stat_all_tables、pg_stat_all_indexes 和 pg_statio_all_sequences

服务器 / 系统视图

新增 stats_reset 列到系统视图 pg_stat_all_tables、pg_stat_all_indexes 和 pg_statio_all_sequences(Bertrand Drouvot,Sami Imseih,Shihao Zhong)§

它也出现在 sys 和 user 变体视图中。

新功能新增 stats_reset 列到系统视图 pg_stat_user_functions 和 pg_stat_database_conflicts

服务器 / 系统视图

新增 stats_reset 列到系统视图 pg_stat_user_functions 和 pg_stat_database_conflicts(Bertrand Drouvot,Shihao Zhong)§§

新功能新增 location 列到系统视图 pg_available_extensions 和 pg_available_extension_versions,用于报告扩展所在的文件系统目录

服务器 / 系统视图

新增 location 列到系统视图 pg_available_extensions 和 pg_available_extension_versions,用于报告扩展所在的文件系统目录(Matheus Alcantara)§

新功能新增 backup_type 列到系统视图 pg_stat_progress_basebackup,用于报告备份类型

服务器 / 系统视图

新增 backup_type 列到系统视图 pg_stat_progress_basebackup,用于报告备份类型(Shinya Kato)§

可能的值为 full 或 incremental。

新功能新增 connecting 值到系统视图列 pg_stat_wal_receiver.status

服务器 / 系统视图

新增 connecting 值到系统视图列 pg_stat_wal_receiver.status(Xuneng Zhou)§

新功能新增对写入 WAL 的整页镜像字节数的报告

服务器 / 系统视图

新增对写入 WAL 的整页镜像字节数的报告(Shinya Kato)§

可通过系统视图 pg_stat_wal 和函数 pg_stat_get_backend_wal() 访问。

新功能在系统视图 pg_stats、pg_stats_ext 和 pg_stats_ext_exprs 中新增列

服务器 / 系统视图

在系统视图 pg_stats、pg_stats_ext 和 pg_stats_ext_exprs 中新增列(Corey Huinker)§

新增表 OID 和属性号列到 pg_stats,并为另外两个视图新增表 OID 和统计对象 OID 列。

新功能为范围类型的扩展统计信息在系统视图 pg_stats_ext_exprs 中新增相关信息

服务器 / 系统视图

为范围类型的扩展统计信息在系统视图 pg_stats_ext_exprs 中新增相关信息(Corey Huinker,Michael Paquier)§

新功能允许按进程类型指定 log_min_messages 日志级别

服务器 / 监控

允许按进程类型指定 log_min_messages 日志级别(Euler Taveira)§

新格式为 "type:level"。不带冒号的值控制所有进程类型,以保持向后兼容。

新功能新增服务器变量 log_autoanalyze_min_duration,用于记录自动清理执行的耗时较长的分析操作

服务器 / 监控

新增服务器变量 log_autoanalyze_min_duration,用于记录自动清理执行的耗时较长的分析操作(Shinya Kato)§

服务器变量 log_autovacuum_min_duration 现在只控制自动清理执行的清理操作日志。

新功能默认启用服务器变量 log_lock_waits

服务器 / 监控

默认启用服务器变量 log_lock_waits(Laurenz Albe)§

新功能新增服务器变量 debug_print_raw_parse,用于记录原始解析树

服务器 / 监控

新增服务器变量 debug_print_raw_parse,用于记录原始解析树(Chao Li)§

当服务器以 debug 级别 3 及以上启动时,也会启用该输出。

新功能让来自远端服务器的消息以与本地服务器消息相同的格式出现在服务器日志中

服务器 / 监控

让来自远端服务器的消息以与本地服务器消息相同的格式出现在服务器日志中(Vignesh C)§

这包括 replication、postgres_fdw和dblink服务器。

新功能新增 WAL 整页写入字节报告到 VACUUM 和 ANALYZE 日志

服务器 / 监控

新增 WAL 整页写入字节报告到 VACUUM 和 ANALYZE 日志(Shinya Kato)§

新功能为 COPY FROM/TO 在管道、文件或程序上新增 I/O 等待事件

服务器 / 监控

为 COPY FROM/TO 在管道、文件或程序上新增 I/O 等待事件(Nikolay Samokhvalov)§

新功能新增commit_delay以及 WAL 写入和刷盘 LSN 的等待事件

服务器 / 监控

新增commit_delay以及 WAL 写入和刷盘 LSN 的等待事件(Xuneng Zhou)§§

新功能让 pg_get_sequence_data() 返回序列页 LSN

服务器 / 监控

让 pg_get_sequence_data() 返回序列页 LSN(Vignesh C)§

新功能新增函数 pg_get_multixact_stats(),用于报告 multixact 活动

服务器 / 监控

新增函数 pg_get_multixact_stats(),用于报告 multixact 活动(Naga Appani)§

新功能当 xid 和 multi-xids 的回卷距离小于 1 亿时发出警告

服务器 / 监控

当 xid 和 multi-xids 的回卷距离小于 1 亿时发出警告(Nathan Bossart)§

此前的警告阈值为 4000 万。警告会发送给客户端并写入服务器日志。

新功能新增评分系统,用于控制自动清理处理表的顺序

服务器 / 服务器配置

新功能新增 SNI(Server Name Indication)服务端支持

服务器 / 服务器配置

新增 SNI(Server Name Indication)服务端支持(Daniel Gustafsson,Jacob Champion)§

新的配置文件 PGDATA/pg_hosts.conf 指定主机名/密钥对。

新功能允许 OAuth 验证器注册自定义 pg_hba.conf 认证选项

服务器 / 服务器配置

允许 OAuth 验证器注册自定义 pg_hba.conf 认证选项(Jacob Champion,Zsolt Parragi)§

新功能允许角色 pg_read_all_data 和 pg_write_all_data 读写大对象

服务器 / 服务器配置

允许角色 pg_read_all_data 和 pg_write_all_data 读写大对象(Nitin Motiani,Nathan Bossart)§

这些角色旨在允许非超级用户运行pg_dump。

新功能允许配置后台工作进程,使其在数据库级操作之前终止

服务器 / 服务器配置

允许配置后台工作进程,使其在数据库级操作之前终止(Aya Iwata)§

由于现在可以终止造成阻塞的后台工作进程,数据库级操作可以更快完成。

新功能允许将表示列表的服务器变量值设为 NULL 来清空它们

服务器 / 服务器配置

允许将表示列表的服务器变量值设为 NULL 来清空它们(Tom Lane)§

新功能将GB18030 编码从 2000 版更新到 2022 版

服务器 / 服务器配置

将GB18030 编码从 2000 版更新到 2022 版(Chao Li,Zheng Tao)§

兼容性细节请参见提交说明。

新功能新增 WAIT 命令,允许备库等待 LSN 值被写入、刷盘或重放

服务器 / 流复制与恢复

新增 WAIT 命令,允许备库等待 LSN 值被写入、刷盘或重放(Kartyshov Ivan,Alexander Korotkov,Xuneng Zhou)§ §

新功能改进 pg_sync_replication_slots(),使其等待同步完成

服务器 / 流复制与恢复

改进 pg_sync_replication_slots(),使其等待同步完成(Ajin Cherian,Zhijie Hou)§

此前某些同步失败不会被报告。

新功能新增服务器变量 wal_sender_shutdown_timeout,用于限制关闭期间的副本同步等待

服务器 / 流复制与恢复

新增服务器变量 wal_sender_shutdown_timeout,用于限制关闭期间的副本同步等待(Andrey Silitskiy,Hayato Kuroda)§

默认情况下,sender 仍会一直等待同步。

新功能允许订阅者中存储的序列值与发布者一致

服务器 / 逻辑复制

允许订阅者中存储的序列值与发布者一致(Vignesh C)§§§

可在 CREATE SUBSCRIPTION、ALTER SUBSCRIPTION ... REFRESH PUBLICATION 和 ALTER SUBSCRIPTION ... REFRESH SEQUENCES 中启用。后者只更新值,不更新序列存在性。函数 pg_get_sequence_data() 可用于检查序列同步。

关联记录(1)

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

新功能允许 CREATE/ALTER PUBLICATION 发布所有序列

服务器 / 逻辑复制

允许 CREATE/ALTER PUBLICATION 发布所有序列(Vignesh C,Tomas Vondra)§

此功能通过 ALL SEQUENCES 子句启用。

新功能允许针对发布执行 ALTER SUBSCRIPTION,以同步订阅端上的序列存在性,使其与发布端一致

服务器 / 逻辑复制

允许针对发布执行 ALTER SUBSCRIPTION,以同步订阅端上的序列存在性,使其与发布端一致(Vignesh C)§

通过 REFRESH SEQUENCES 子句启用此功能。

关联记录(1)

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

新功能允许 CREATE/ALTER PUBLICATION 排除某些表

服务器 / 逻辑复制

允许 CREATE/ALTER PUBLICATION 排除某些表(Vignesh C,Shlok Kyal)§§§§

该功能通过 EXCEPT 子句控制,在指定 ALL TABLES 时尤其有用。

新功能为 CREATE/ALTER SUBSCRIPTION 新增设置 retain_dead_tuples,用于保留冲突检测所需的信息

服务器 / 逻辑复制

为 CREATE/ALTER SUBSCRIPTION 新增设置 retain_dead_tuples,用于保留冲突检测所需的信息(Zhijie Hou)§ § §

同时新增设置 max_retention_duration,用于限制 retain_dead_tuples 的保留时间。

新功能允许 CREATE SUBSCRIPTION 使用postgres_fdw外部数据包装器连接参数

服务器 / 逻辑复制

允许 CREATE SUBSCRIPTION 使用postgres_fdw外部数据包装器连接参数(Jeff Davis)§

连接参数通过 CREATE SUBSCRIPTION ... SERVER 引用。

关联记录(1)

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

新功能当 wal_level 为 "replica" 时,允许在需要时自动启用逻辑复制

服务器 / 逻辑复制

当 wal_level 为 "replica" 时,允许在需要时自动启用逻辑复制(Masahiko Sawada)§

新增的服务器变量 effective_wal_level,以及程序pg_controldata和函数 pg_control_checkpoint(),都会报告有效 WAL 级别。

新功能允许按订阅和用户设置 wal_receiver_timeout

服务器 / 逻辑复制

允许按订阅和用户设置 wal_receiver_timeout(Fujii Masao)§§

这允许不同订阅端使用不同的 wal_receiver_timeout 值。

新功能新增可选 pid 参数到 pg_replication_origin_session_setup(),以允许 SQL 级复制方案并行化

服务器 / 逻辑复制

新增可选 pid 参数到 pg_replication_origin_session_setup(),以允许 SQL 级复制方案并行化(Doruk Yilmaz,Hayato Kuroda)§

新功能允许 GROUP BY 处理目标列表中的子查询,即使其中的表达式引用了子查询之外的列

查询命令

允许 GROUP BY 处理目标列表中的子查询,即使其中的表达式引用了子查询之外的列(Tom Lane)§

同时修复了 GROUPING() 处理目标列表中的子查询别名时的一个 bug。

新功能允许窗口函数使用 IGNORE NULLS/RESPECT NULLS 子句忽略 NULL

查询命令

允许窗口函数使用 IGNORE NULLS/RESPECT NULLS 子句忽略 NULL(Oliver Ford,Tatsuo Ishii)§

支持的窗口函数有 lead()、lag()、first_value()、last_value() 和 nth_value()。

新功能新增 INSERT ... ON CONFLICT DO SELECT ... RETURNING 支持

查询命令

新增 INSERT ... ON CONFLICT DO SELECT ... RETURNING 支持(Andreas Karlsson,Marko Tiikkaja,Viktor Holmberg)§

这允许返回冲突行,并可选用 FOR UPDATE/SHARE 加锁。

新功能新增 REPACK 命令,用于替代 VACUUM FULL 和 CLUSTER

实用命令

新增 REPACK 命令,用于替代 VACUUM FULL 和 CLUSTER(Antonin Houska)§

前两个命令执行类似的操作,但名称容易引起混淆,因此将它们统一为 REPACK。旧命令仍予保留,以保持兼容性。

新功能允许 REPACK 在不获取 ACCESS EXCLUSIVE 锁的情况下重建表

实用命令

允许 REPACK 在不获取 ACCESS EXCLUSIVE 锁的情况下重建表(Antonin Houska,Mihail Nikalayeu,Álvaro Herrera)§§§

通过 CONCURRENTLY 选项启用。还新增了服务器变量 max_repack_replication_slots。

新功能允许 GRANT/REVOKE 指定执行权限调整的有效角色

实用命令

允许 GRANT/REVOKE 指定执行权限调整的有效角色(Nathan Bossart,Tom Lane)§

通过 GRANTED BY 子句控制。

新功能支持在 CREATE SCHEMA 内的 FOREIGN KEY 约束子句中使用前向引用

实用命令

支持在 CREATE SCHEMA 内的 FOREIGN KEY 约束子句中使用前向引用(Jian He,Tom Lane)§

新功能允许 CHECKPOINT 接受选项列表

实用命令

允许 CHECKPOINT 接受选项列表(Christoph Berg)§§§

支持的选项为 MODE 和 FLUSH_UNLOGGED。

新功能新增 CONNECTION 子句到 CREATE FOREIGN DATA WRAPPER,用于指定将为订阅连接参数调用的函数

实用命令

新增 CONNECTION 子句到 CREATE FOREIGN DATA WRAPPER,用于指定将为订阅连接参数调用的函数(Jeff Davis,Noriyoshi Shinoda)§§

关联记录(1)

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

新功能为 CREATE AGGREGATE 新增 SUPPORT 子句,使扩展可以指定支持函数来优化聚合调用

实用命令

为 CREATE AGGREGATE 新增 SUPPORT 子句,使扩展可以指定支持函数来优化聚合调用(Tom Lane)§

新功能在 VACUUM (VERBOSE) 和自动清理日志中新增内存使用和并行度报告

实用命令

在 VACUUM (VERBOSE) 和自动清理日志中新增内存使用和并行度报告(Tatsuya Kawata,Daniil Davydov)§§

新功能允许使用 ALTER TABLE ALTER CONSTRAINT ... [NOT] ENFORCED 修改 CHECK 约束

实用命令 / 约束

允许使用 ALTER TABLE ALTER CONSTRAINT ... [NOT] ENFORCED 修改 CHECK 约束(Jian He)§

此前只有外键约束支持更改强制执行状态。

新功能允许在虚拟列上成功执行 ALTER TABLE ... COLUMN SET EXPRESSION,即使它带有 CHECK 约束

实用命令 / 约束

允许在虚拟列上成功执行 ALTER TABLE ... COLUMN SET EXPRESSION,即使它带有 CHECK 约束(Jian He)§

此前这是被禁止的。

新功能允许 COPY FROM 跳过多行表头

实用命令 / COPY

允许 COPY FROM 跳过多行表头(Shinya Kato,Fujii Masao)§

此前只能跳过一行表头。

新功能允许 COPY FROM 把无效输入值设置为 NULL

实用命令 / COPY

允许 COPY FROM 把无效输入值设置为 NULL(Jian He,Kirill Reshke)§

通过 COPY 选项 ON_ERROR SET_NULL 实现。

新功能允许 COPY TO 输出 JSON 格式

实用命令 / COPY

允许 COPY TO 输出 JSON 格式(Joe Conway,Jian He,Andrew Dunstan)§ §

还可以把 JSON 输出生成为单个 JSON 数组,方法是使用 COPY 选项 FORCE_ARRAY。

新功能允许 COPY TO 处理分区表

实用命令 / COPY

允许 COPY TO 处理分区表(Jian He,Ajin Cherian)§§

此前必须使用 COPY (SELECT ...) 才能输出分区表。这也改进了逻辑复制中的表同步。

新功能新增 EXPLAIN ANALYZE 选项 IO,用于报告异步 I/O 活动

实用命令 / EXPLAIN

新增 EXPLAIN ANALYZE 选项 IO,用于报告异步 I/O 活动(Tomas Vondra)§§§

新功能新增 WAL 整页写入字节数报告到 EXPLAIN (ANALYZE, WAL) 输出

实用命令 / EXPLAIN

新增 WAL 整页写入字节数报告到 EXPLAIN (ANALYZE, WAL) 输出(Shinya Kato)§

新功能在 EXPLAIN 输出中新增 Memoize 缓存和查找估计值

实用命令 / EXPLAIN

在 EXPLAIN 输出中新增 Memoize 缓存和查找估计值(Ilia Evdokimov,Lukas Fittl)§

这有助于说明为什么选择了 Memoize。

新功能新增 64 位无符号数据类型 oid8

数据类型

新增 64 位无符号数据类型 oid8(Michael Paquier)§

新功能新增更多 jsonpath 字符串方法

数据类型

新增更多 jsonpath 字符串方法(Florents Tselai,David E. Wheeler)§

包括 ltrim()、rtrim()、btrim()、lower()、upper()、initcap()、replace() 和 split_part()。它们与非 JSON 字符串变体一样是不可变的。

新功能允许在 bytea 和 uuid 之间进行类型转换

数据类型

允许在 bytea 和 uuid 之间进行类型转换(Dagfinn Ilmari Mannsåker,Aleksander Alekseev)§

新功能允许使用 regdatabase 在数据库名和 oid 之间转换

数据类型

允许使用 regdatabase 在数据库名和 oid 之间转换(Ian Lawrence Barwick)§

新功能新增 tid_block() 和 tid_offset() 函数,用于从 tid 值中提取块号和偏移量

数据类型

新增 tid_block() 和 tid_offset() 函数,用于从 tid 值中提取块号和偏移量(Ayush Tiwari)§

新功能新增 date、timestamp 和 timestamptz 版本的 random(min, max)

函数

新增 date、timestamp 和 timestamptz 版本的 random(min, max)(Damien Clochard,Dean Rasheed)§§

新功能允许 encode() 和 decode() 处理 base64url 和 base32hex 格式的数据

函数

允许 encode() 和 decode() 处理 base64url 和 base32hex 格式的数据(Andrey Borodin,Aleksander Alekseev,Florents Tselai)§§§

这种格式保留顺序,不像 base32。

新功能新增用于返回范围减法结果范围集的函数

函数

新增用于返回范围减法结果范围集的函数(Paul A. Jungwirth)§

函数为 range_minus_multi() 和 multirange_minus_multi()。这对表示带间隙的范围减法结果很有用。

新功能新增函数 error_on_null(),用于返回提供的参数,或在 NULL 输入时报告错误

函数

新增函数 error_on_null(),用于返回提供的参数,或在 NULL 输入时报告错误(Joel Jacobson)§

新功能允许 IS JSON 在定义于受支持基础类型之上的域上工作

函数

允许 IS JSON 在定义于受支持基础类型之上的域上工作(Jian He)§

受支持的基础类型为 TEXT、JSON、JSONB 和 BYTEA。

新功能新增波兰语和世界语的全文词干分析器

函数

新增波兰语和世界语的全文词干分析器(Tom Lane)§

荷兰语词干分析器也已更新。旧版荷兰语词干分析器可通过 dutch_porter 使用。

新功能允许使用PL/Python编写事件触发器

函数

允许使用PL/Python编写事件触发器(Euler Taveira,Dimitri Fontaine)§

新功能允许 libpq 连接通过 "servicefile" 指定服务文件

Libpq

允许 libpq 连接通过 "servicefile" 指定服务文件(Torsten Förtsch,Ryo Kanbayashi)§

新功能新增用于兼容性测试的特殊 libpq 协议参数

Libpq

新增用于兼容性测试的特殊 libpq 协议参数(Jelte Fennema-Nio,Jacob Champion)§

这也称为 protocol grease,曾在 19 beta 期间启用。从 PostgreSQL 19 正式版开始将不再发送这些参数,但相关参数保留项仍会保留,以备将来使用。

新功能新增 libpq 连接参数 oauth_ca_file,用于在与 OAuth 提供者通信时指定其他证书颁发机构

Libpq

新增 libpq 连接参数 oauth_ca_file,用于在与 OAuth 提供者通信时指定其他证书颁发机构(Jonathan Gonzalez V.,Jacob Champion)§

也可以通过环境变量 PGOAUTHCAFILE 设置。默认使用 curl 内置证书。

新功能允许 libpq 环境变量 PGOAUTHDEBUG 指定具体调试选项

Libpq

允许 libpq 环境变量 PGOAUTHDEBUG 指定具体调试选项(Zsolt Parragi,Jacob Champion)§

UNSAFE 选项仍会生成全部调试输出。

新功能改进自定义 OAuth 客户端流程

Libpq

改进自定义 OAuth 客户端流程(Jacob Champion)§ §

此前,自定义流程失败时 libpq 只报告一条通用错误消息,并且每个流程实现都必须独立计算 issuer 标识符。新增 authdata 钩子类型 PQAUTHDATA_OAUTH_BEARER_TOKEN_V2,它会预先计算 issuer ID,并允许钩子提供错误细节。

新功能新增 libpq 函数 PQgetThreadLock(),用于获取当前锁回调

Libpq

新增 libpq 函数 PQgetThreadLock(),用于获取当前锁回调(Jacob Champion)§

新功能允许psql通过 %S 在提示符中显示 search_path

psql

允许psql通过 %S 在提示符中显示 search_path(Florents Tselai)§

这在psql连接到 PostgreSQL 18 或更高版本时有效。

新功能允许psql通过 %i 在提示符中显示热备状态

psql

允许psql通过 %i 在提示符中显示热备状态(Jim Jones)§

新功能修改psql反斜杠命令,以显示发布、订阅和扩展统计信息的注释

psql

修改psql反斜杠命令,以显示发布、订阅和扩展统计信息的注释(Fujii Masao,Jim Jones)§

受影响的命令为 \dRp+、\dRs+ 和 \dX+。

新功能允许在psql中控制 boolean 值的显示方式

psql

允许在psql中控制 boolean 值的显示方式(David G. Johnston)§

\pset 变量为 display_true 和 display_false。

新功能新增psql变量 SERVICEFILE,用于引用服务文件位置

psql

新增psql变量 SERVICEFILE,用于引用服务文件位置(Ryo Kanbayashi)§

新功能允许psql更准确地判断是否需要 pager

psql

允许psql更准确地判断是否需要 pager(Erik Wienhold)§

新功能新增或改进 psql tab completion

psql

新增或改进 psql tab completion(Yamaguchi Atsuo,Yugo Nagata,Haruna Miwa,Xuneng Zhou,Dagfinn Ilmari Mannsåker,Fujii Masao,Álvaro Herrera,Jian He,Tatsuya Kawata,Ian Lawrence Barwick,Vasuki M)§§§§§§§§§§§§§§

新功能允许pg_dump包含可恢复的扩展统计信息

服务器应用程序

允许pg_dump包含可恢复的扩展统计信息(Corey Huinker)§

新功能修改vacuumdb的 --analyze-only 和 --analyze-in-stages 选项,使其在未指定目标时也分析分区表

服务器应用程序

修改vacuumdb的 --analyze-only 和 --analyze-in-stages 选项,使其在未指定目标时也分析分区表(Laurenz Albe,Mircea Cadariu,Chao Li)§ §

此前它会跳过分区表。现在其行为与 ANALYZE 一致。

新功能允许vacuumdb使用 --dry-run 选项报告将要执行的命令而不实际运行

服务器应用程序

允许vacuumdb使用 --dry-run 选项报告将要执行的命令而不实际运行(Corey Huinker)§

新功能允许pg_verifybackup读取 WAL 文件,这些文件存储在 tar 归档中

服务器应用程序

允许pg_verifybackup读取 WAL 文件,这些文件存储在 tar 归档中(Amul Sul)§

新增 --wal-path 选项,作为现有且已弃用的 --wal-directory 选项的别名。

新功能允许pg_waldump读取 WAL 文件,这些文件存储在 tar 归档中

服务器应用程序

允许pg_waldump读取 WAL 文件,这些文件存储在 tar 归档中(Amul Sul)§

性能改进改进pg_upgrade复制大对象元数据的性能

服务器应用程序

改进pg_upgrade复制大对象元数据的性能(Nathan Bossart)§ § § §

根据旧集簇的 PostgreSQL 版本采用不同的方法。

新功能允许pg_upgrade处理存放在 PGDATA 目录中的非默认表空间

服务器应用程序

允许pg_upgrade处理存放在 PGDATA 目录中的非默认表空间(Nathan Bossart)§

此前这类表空间会报错。

新功能新增pgbench选项 --continue-on-error,以在 SQL 错误后继续执行

服务器应用程序

新增pgbench选项 --continue-on-error,以在 SQL 错误后继续执行(Rintaro Ikeda,Yugo Nagata,Fujii Masao)§

新功能改进pg_test_timing的可用性

服务器应用程序

改进pg_test_timing的可用性(Hannu Krosing,Tom Lane)§§

现在报告纳秒而不是微秒;除直方图输出外,还会输出第二张精确计时表,并可通过 --cutoff 指定可选截断。

新功能允许pg_createsubscriber忽略已存在的指定发布

服务器应用程序 / pg_createsubscriber

允许pg_createsubscriber忽略已存在的指定发布(Shubham Khanna)§

此前这会报错。

新功能更改pg_createsubscriber存储恢复参数的方式

服务器应用程序 / pg_createsubscriber

更改pg_createsubscriber存储恢复参数的方式(Alyona Vinter)§

变更会存放在可选包含的 pg_createsubscriber.conf 中,而不是直接写入 postgresql.auto.conf。

新功能新增pg_createsubscriber选项 -l/--logdir,用于把输出重定向到文件

服务器应用程序 / pg_createsubscriber

新增pg_createsubscriber选项 -l/--logdir,用于把输出重定向到文件(Gyan Sreejith,Hayato Kuroda)§

新功能恢复对 AIX 的支持

源代码

恢复对 AIX 的支持(Aditya Kamath,Srirama Kucherlapati,Peter Eisentraut)§§

这使用 gcc,并且只支持 64 位构建。

新功能将 Solaris 改为使用未命名 POSIX 信号量

源代码

将 Solaris 改为使用未命名 POSIX 信号量(Tom Lane)§

此前使用的是 System V 信号量。

新功能要求Visual Studio 2019或更高版本

源代码

要求Visual Studio 2019或更高版本(Peter Eisentraut)§

新功能允许 MSVC 为PL/Python使用 Python Limited API 进行构建

源代码

允许 MSVC 为PL/Python使用 Python Limited API 进行构建(Bryan Green)§

新功能允许使用 MSVC 在 AArch64 上构建

源代码

允许使用 MSVC 在 AArch64 上构建(Niyas Sait,Greg Burd,Dave Cramer)§

新功能允许在Windows上使用 DbgHelp 获取执行栈回溯

源代码

允许在Windows上使用 DbgHelp 获取执行栈回溯(Bryan Green)§

新功能将支持的 C 语言版本改为 C11

源代码

将支持的 C 语言版本改为 C11(Peter Eisentraut)§§

此前使用 C99。

新功能在可用时使用标准 C23 和 C++ 属性

源代码

在可用时使用标准 C23 和 C++ 属性(Peter Eisentraut)§

新功能使用 AVX2 CPU 指令计算页面校验和

源代码

使用 AVX2 CPU 指令计算页面校验和(Matthew Sterrett,Andrew Kim)§

新功能使用 ARM Crypto Extension 计算 CRC32C

源代码

使用 ARM Crypto Extension 计算 CRC32C(John Naylor)§

新功能修改 hex_encode() 和 hex_decode(),使其使用 SIMD CPU 指令

源代码

修改 hex_encode() 和 hex_decode(),使其使用 SIMD CPU 指令(Nathan Bossart,Chiranmoy Bhattacharya)§

新功能要求Meson版本 0.57.2 或更高

源代码

要求Meson版本 0.57.2 或更高(Peter Eisentraut)§

新功能新增 Meson 选项,用于同时构建共享库和静态库,或仅构建共享库

源代码

新增 Meson 选项,用于同时构建共享库和静态库,或仅构建共享库(Peter Eisentraut)§

新功能更新 Unicode 数据到 17.0.0 版

源代码

更新 Unicode 数据到 17.0.0 版(Peter Eisentraut)§

新功能新增钩子 planner_setup_hook、planner_shutdown_hook、joinrel_setup_hook 和 join_path_setup_hook

源代码

新增钩子 planner_setup_hook、planner_shutdown_hook、joinrel_setup_hook 和 join_path_setup_hook(Robert Haas)§ §

新功能允许扩展将返回集合函数替换为 FROM 子句中的 SQL 查询

源代码

允许扩展将返回集合函数替换为 FROM 子句中的 SQL 查询(Paul A. Jungwirth)§

新功能将multixid 成员改为 64 位

源代码

将multixid 成员改为 64 位(Maxim Orlov)§

新功能将函数原型中的 bit* typedef 改为 uint*

源代码

将函数原型中的 bit* typedef 改为 uint*(Nathan Bossart)§

新功能允许逻辑解码插件指定其是否不访问共享目录

源代码

允许逻辑解码插件指定其是否不访问共享目录(Antonin Houska)§

新功能允许 OAuth 验证器提供失败细节

源代码

允许 OAuth 验证器提供失败细节(Jacob Champion)§

通过设置 ValidatorModuleResult 结构体成员 error_detail 实现。

新功能新增简化且改进的共享内存注册函数 ShmemRequestStruct()

源代码

新增简化且改进的共享内存注册函数 ShmemRequestStruct()(Heikki Linnakangas,Ashutosh Bapat)§

ShmemInitStruct() 和 ShmemInitHash() 仍保留以兼容旧代码。

新功能新增服务器变量 debug_exec_backend,用于报告参数如何传递给新后端

源代码

新增服务器变量 debug_exec_backend,用于报告参数如何传递给新后端(Daniel Gustafsson)§

新功能新增关于时态表的文档章节

源代码

新增关于时态表的文档章节(Paul A. Jungwirth)§

新功能记录控制回归测试的环境变量

源代码

记录控制回归测试的环境变量(Michael Paquier)§

新功能更新文档中的systemd 示例,加入 restart 设置

源代码

更新文档中的systemd 示例,加入 restart 设置(Andrew Jackson)§

新功能新增pg_plan_advice模块,用于稳定和控制规划器决策

附加模块

新增pg_plan_advice模块,用于稳定和控制规划器决策(Robert Haas)§§

新功能新增扩展pg_stash_advice,用于按 query-id 指定建议

附加模块

新增扩展pg_stash_advice,用于按 query-id 指定建议(Robert Haas,Lukas Fittl)§§

新功能将 FETCH 查询的大小作为常量显示在pg_stat_statements中

附加模块

将 FETCH 查询的大小作为常量显示在pg_stat_statements中(Sami Imseih)§

不同大小的 FETCH 现在会在pg_stat_statements输出中归并到一起。

新功能新增通用计划和自定义计划计数到pg_stat_statements

附加模块

新功能重构pg_buffercache的共享内存映射报告

附加模块

重构pg_buffercache的共享内存映射报告(Bertrand Drouvot)§

新增函数 pg_buffercache_os_pages() 和系统视图 pg_buffercache_os_pages,用于报告共享内存映射;函数还可选包含 NUMA 细节。为向后兼容,pg_buffercache_numa_pages() 仍然保留。

新功能为pg_buffercache新增将缓冲区标记为脏的函数

附加模块

为pg_buffercache新增将缓冲区标记为脏的函数(Nazir Bilal Yavuz)§

这些函数为 pg_buffercache_mark_dirty()、pg_buffercache_mark_dirty_relation() 和 pg_buffercache_mark_dirty_all()。

新功能允许在预备语句中向postgres_fdw外部服务器下推数组比较

附加模块

允许在预备语句中向postgres_fdw外部服务器下推数组比较(Alexander Pyhalov)§

新功能允许从外部数据包装器服务器获取统计信息

附加模块

允许从外部数据包装器服务器获取统计信息(Corey Huinker,Etsuro Fujita)§§

postgres_fdw通过 import_stats 选项启用此功能。默认情况下,ANALYZE 会从远端服务器取回行并在本地生成统计信息。

新功能允许file_fdw读取使用多行 HEADER 的文件或程序输出

附加模块

允许file_fdw读取使用多行 HEADER 的文件或程序输出(Shinya Kato)§

新功能新增服务器变量 auto_explain.log_io,为auto_explain添加 IO 报告

附加模块

新增服务器变量 auto_explain.log_io,为auto_explain添加 IO 报告(Tomas Vondra)§

新功能允许auto_explain添加扩展特定的 EXPLAIN 选项,并通过服务器变量 auto_explain.log_extension_options 控制

附加模块

允许auto_explain添加扩展特定的 EXPLAIN 选项,并通过服务器变量 auto_explain.log_extension_options 控制(Robert Haas)§

新功能修改btree_gin,使其支持 btree 所支持的所有跨类型比较

附加模块

修改btree_gin,使其支持 btree 所支持的所有跨类型比较(Tom Lane)§ §

性能改进通过流式读取改进bloom索引性能

附加模块

通过流式读取改进bloom索引性能(Xuneng Zhou)§§

性能改进使用流式读取改进pgstattuple的性能

附加模块

使用流式读取改进pgstattuple的性能(Xuneng Zhou)§ §

新功能允许fuzzystrmatch的 dmetaphone() 使用 ASCII 以外的单字节编码

附加模块

允许fuzzystrmatch的 dmetaphone() 使用 ASCII 以外的单字节编码(Peter Eisentraut)§

新功能修改 oid2name --extended 以报告关系文件路径

附加模块

修改 oid2name --extended 以报告关系文件路径(David Bidoc)§

这份对比如何生成?

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

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

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

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

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