PostgreSQL 19
预览版 · 记录构建 19rc2
这是预览构建,功能和说明在正式发布前仍可能变化。此处不将预览日期或暂定日期作为正式发布日期和支持结束日期。
- 首次正式发布
- 尚未正式发布
- 支持结束
- 尚无记录
- 已收录发布版本
- 1
- 原始发布说明条目
- 200
手册与来源
PostgreSQL 19 本站手册 · 已加载 1160 页。
手册加载时间:2026-11-13T09:18:12.146985。
发布说明快照:2026-11-12。安全证据快照:2026-09-26。PDF 链接按本地文件是否存在提供,历史版本的语言与 HTML 手册可能不同。生命周期参见官方版本政策。
升级注意事项
跨大版本升级需要导出/恢复或 pg_upgrade 等迁移方式,应阅读沿途大版本的发布说明与目标版本手册。小版本更新也可能要求额外操作,请核对对应发布的迁移说明。官方升级政策。
19rc2 的原始迁移说明
对于想从任何先前版本迁移数据的用户,需要使用 pg_dumpall 执行转储/恢复,或者使用 pg_upgrade,或者使用逻辑复制。有关迁移到新主版本的一般信息,请参见第 18.6 节。
19 版本包含若干可能影响与先前版本兼容性的更改。请注意以下不兼容项:
发布历史
每次发布的原始变更均独立保留。CVE 数量表示发布说明中的提及,可能包含后续纠正,不等于本次新修复漏洞数。
预览版变化
19rc2 的原始条目,包含功能和兼容性变化。类别用于浏览,不是上游原始分类。
匹配 200 / 200 条原始变更。
新增服务器变量 password_expiration_warning_threshold,用于提示密码即将过期 · 兼容性变化 · 迁移说明
新增服务器变量
password_expiration_warning_threshold,用于提示密码即将过期(Gilles Darold,Nathan Bossart)§默认警告期为七天。
原始发布条目 ·
19.0/migration/001在成功完成 MD5 密码认证后发出警告 · 兼容性变化 · 迁移说明
在成功完成 MD5 密码认证后发出警告(Nathan Bossart)§
可以通过服务器变量
md5_password_warnings禁用该警告。MD5 密码已在 PostgreSQL 18 中被标记为弃用。原始发布条目 ·
19.0/migration/002强制数据库服务器中的 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已被移除,因为已无必要。原始发布条目 ·
19.0/migration/004禁止数据库名、角色名和表空间名中出现回车和换行 · 兼容性变化 · 迁移说明
禁止数据库名、角色名和表空间名中出现回车和换行(Mahendra Singh Thalor)§
这样做是为了避免安全问题。pg_upgrade 也会拒绝升级那些使用此类名称的数据库集簇。
原始发布条目 ·
19.0/migration/005将 inet 和 cidr 数据类型的默认索引操作符类从 btree_gist 改为 GiST · 兼容性变化 · 迁移说明
将
inet和cidr数据类型的默认索引操作符类从 btree_gist 改为 GiST(Tom Lane)§ §btree_gist 的
inet/cidr操作符类存在缺陷,因为它们可能排除本应返回的行。pg_upgrade 将拒绝升级包含 btree_gistinet/cidr索引的数据库集簇。原始发布条目 ·
19.0/migration/006禁止在 COPY FROM ... WHERE 中使用系统列 · 兼容性变化 · 迁移说明
禁止在
COPY FROM ... WHERE中使用系统列(Tom Lane)§这些列的值并未明确定义。
原始发布条目 ·
19.0/migration/007将不返回任何行的 json_array() 调用改为返回空 JSON 数组 · 兼容性变化 · 迁移说明
将不返回任何行的
json_array()调用改为返回空 JSON 数组(Richard Guo)§此前会返回
NULL。原始发布条目 ·
19.0/migration/008让事务把其 READ ONLY 和 DEFERRABLE 状态传递给 postgres_fdw 会话 · 兼容性变化 · 迁移说明
让事务把其
READ ONLY和DEFERRABLE状态传递给 postgres_fdw 会话(Etsuro Fujita)§这意味着
READ ONLY事务将不能再修改由 postgres_fdw 会话处理的行。原始发布条目 ·
19.0/migration/009将 max_locks_per_transaction 的默认值从 64 改为 128 · 兼容性变化 · 迁移说明
将
max_locks_per_transaction的默认值从 64 改为 128(Heikki Linnakangas)§锁大小分配方式已经改变,因此要达到与先前版本相同的容量,实际上现在必须将设置值翻倍。
原始发布条目 ·
19.0/migration/010移除服务器变量 io_workers · 兼容性变化 · 迁移说明
移除服务器变量
io_workers(Thomas Munro)§该变量已由四个新变量取代;参见第 E.1.3.1.2 节。
原始发布条目 ·
19.0/migration/011让并行清理的领导者和工作进程共享基于代价的清理延迟上限 · 兼容性变化 · 迁移说明
让并行清理的领导者和工作进程共享基于代价的清理延迟上限(Bharath Rupireddy)§
此前,每个工作进程只根据自身产生的代价决定睡眠时间,因此并行清理可能消耗由
vacuum_cost_limit设置的预算的数倍。此项更改后,启用并行工作进程和基于代价的延迟的VACUUM可能比先前版本运行得更慢。原始发布条目 ·
19.0/migration/013将 sync_error_count 重命名为 sync_table_error_count,该列位于系统视图 pg_stat_subscription_stats 中 · 兼容性变化 · 迁移说明
将
sync_error_count重命名为sync_table_error_count,该列位于系统视图pg_stat_subscription_stats中(Vignesh C)§这是因为现在会单独跟踪序列错误。
原始发布条目 ·
19.0/migration/014将索引访问方法处理器改为使用静态分配的 IndexAmRoutines 结构体,而不是动态分配的结构体 · 兼容性变化 · 迁移说明
将索引访问方法处理器改为使用静态分配的
IndexAmRoutines结构体,而不是动态分配的结构体(Matthias van de Meent)§原始发布条目 ·
19.0/migration/017让全文检索和 pg_trgm 在解析文本时使用数据库的区域设置提供者对字符进行分类 · 兼容性变化 · 迁移说明
让全文检索和 pg_trgm 在解析文本时使用数据库的区域设置提供者对字符进行分类(Jeff Davis)§
此前,无论使用哪种区域设置提供者,都使用 libc 对字符分类。如果数据库使用 libc 以外的区域设置提供者(例如
ICU、builtin),且通过该提供者配置的区域设置与数据库的LC_CTYPE设置行为不同,尤其是 LC_CTYPE 为C时,某些全文检索和 pg_trgm 函数的输出可能发生变化。使用 pg_upgrade 升级此类数据库时,建议在升级后重建所有使用全文检索和 pg_trgm 的索引,并重新计算所有已存储的tsvector值。原始发布条目 ·
19.0/migration/020改变 fuzzystrmatch 函数处理非 ASCII 字符的方式 · 兼容性变化 · 迁移说明
改变 fuzzystrmatch 函数处理非 ASCII 字符的方式(Peter Eisentraut,Jeff Davis)§§
dmetaphone()和dmetaphone_alt()现在使用数据库的默认排序规则将输入转换为大写,而不再始终使用 libc;soundex()、metaphone()和difference()现在只将 ASCII 字母视为字母。使用 pg_upgrade 升级时,建议在升级后重建所有使用这些函数的索引。原始发布条目 ·
19.0/migration/021在常量折叠期间将 IS [NOT] DISTINCT FROM NULL 转换为 IS [NOT] NULL · 新功能
在常量折叠期间将
IS [NOT] DISTINCT FROM NULL转换为IS [NOT] NULL(Richard Guo)§后一种形式更易优化。
原始发布条目 ·
19.0/changes/008当输入被证明非空时,将 IS [NOT] DISTINCT FROM 简化为等值/不等值操作符 · 新功能
当输入被证明非空时,将
IS [NOT] DISTINCT FROM简化为等值/不等值操作符(Richard Guo)§原始发布条目 ·
19.0/changes/009简化 COALESCE() 和 ROW(...) IS [NOT] NULL,以避免求值不必要的参数 · 新功能
简化
COALESCE()和ROW(...) IS [NOT] NULL,以避免求值不必要的参数(Richard Guo)§§原始发布条目 ·
19.0/changes/011新增函数 pg_clear_extended_stats() 用于删除扩展统计信息 · 新功能
新增函数
pg_clear_extended_stats()用于删除扩展统计信息(Corey Huinker,Michael Paquier)§原始发布条目 ·
19.0/changes/017允许 pg_aggregate.aggtransspace 为负值,以表示内存使用没有上限 · 新功能
允许
pg_aggregate.aggtransspace为负值,以表示内存使用没有上限(Richard Guo)§该信息会被优化器用于规划内存使用。
原始发布条目 ·
19.0/changes/019允许 io_method = "worker" 自动控制所需后台工作进程 · 性能改进
允许
io_method= "worker" 自动控制所需后台工作进程(Thomas Munro)§新增服务器变量
io_min_workers、io_max_workers、io_worker_idle_timeout和io_worker_launch_interval。原始发布条目 ·
19.0/changes/022允许查询中的表扫描在可见性映射中将页面标记为全可见 · 性能改进
允许查询中的表扫描在可见性映射中将页面标记为全可见(Melanie Plageman)§
此前只有
VACUUM和COPY ... FREEZE可以做到这一点。原始发布条目 ·
19.0/changes/023允许自动清理使用并行自动清理工作进程 · 性能改进
允许自动清理使用
并行自动清理工作进程(Daniil Davydov)§§工作进程的最大数量由服务器变量
autovacuum_max_parallel_workers和每表存储参数autovacuum_parallel_workers控制。原始发布条目 ·
19.0/changes/024将 wal_compression 等于 on 时的行为改为使用可用的最佳 WAL 压缩方法 · 性能改进
将
wal_compression等于on时的行为改为使用可用的最佳 WAL 压缩方法(wenhui qiu)§此前始终使用
pglz。原始发布条目 ·
19.0/changes/028将 TOAST 压缩默认方法从 pglz 改为更高效的 lz4 · 性能改进
将 TOAST 压缩默认方法从
pglz改为更高效的lz4(Euler Taveira)§通过修改服务器变量
default_toast_compression的默认值实现。原始发布条目 ·
19.0/changes/029改进计时性能测量 · 性能改进
改进计时性能测量(Lukas Fittl,Andres Freund,David Geier)§§
这有利于
EXPLAIN (ANALYZE, TIMING)和 pg_test_timing,并由服务器变量timing_clock_source控制。原始发布条目 ·
19.0/changes/034新增系统视图 pg_stat_lock 和函数 pg_stat_get_lock(),用于报告每种锁类型的统计信息 · 新功能
新增系统视图
pg_stat_lock和函数pg_stat_get_lock(),用于报告每种锁类型的统计信息(Bertrand Drouvot)§原始发布条目 ·
19.0/changes/036新增系统视图 pg_stat_recovery,用于报告恢复状态 · 新功能
新增系统视图
pg_stat_recovery,用于报告恢复状态(Xuneng Zhou,Shinya Kato)§§原始发布条目 ·
19.0/changes/037新增系统视图 pg_stat_progress_repack,用于报告 REPACK、CLUSTER 和 VACUUM FULL 的进度 · 新功能
新增系统视图
pg_stat_progress_repack,用于报告REPACK、CLUSTER和VACUUM FULL的进度(Álvaro Herrera)§原始发布条目 ·
19.0/changes/038新增系统视图 pg_stat_autovacuum_scores,用于报告每表自动清理细节 · 新功能
新增系统视图
pg_stat_autovacuum_scores,用于报告每表自动清理细节(Sami Imseih)§原始发布条目 ·
19.0/changes/039在系统视图 pg_stat_progress_vacuum 中新增清理启动细节 · 新功能
在系统视图
pg_stat_progress_vacuum中新增清理启动细节(Shinya Kato)§新的
started_by列报告清理的发起者,mode则表示其激进程度。原始发布条目 ·
19.0/changes/040在系统视图 pg_stat_progress_analyze 中新增分析启动细节 · 新功能
在系统视图
pg_stat_progress_analyze中新增分析启动细节(Shinya Kato)§新的
started_by列报告分析的发起者。原始发布条目 ·
19.0/changes/041新增系统视图 pg_dsm_registry_allocations,用于报告动态共享内存细节 · 新功能
新增系统视图
pg_dsm_registry_allocations,用于报告动态共享内存细节(Florents Tselai,Nathan Bossart)§§原始发布条目 ·
19.0/changes/042新增 mem_exceeded_count 列到系统视图 pg_stat_replication_slots · 新功能
新增
mem_exceeded_count列到系统视图pg_stat_replication_slots(Bertrand Drouvot)§它用于报告
logical_decoding_work_mem被超过的次数。原始发布条目 ·
19.0/changes/043在 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。原始发布条目 ·
19.0/changes/044新增 update_deleted 列到系统视图 pg_stat_subscription_stats · 新功能
新增
update_deleted列到系统视图pg_stat_subscription_stats(Zhijie Hou)§该列报告因并发删除而忽略更新的行数。这要求订阅者启用
retain_dead_tuples。原始发布条目 ·
19.0/changes/045新增 sync_seq_error_count 列到系统视图 pg_stat_subscription_stats,用于报告序列同步错误 · 新功能
新增
sync_seq_error_count列到系统视图pg_stat_subscription_stats,用于报告序列同步错误(Vignesh C)§§原始发布条目 ·
19.0/changes/046新增 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变体视图中。原始发布条目 ·
19.0/changes/047新增 stats_reset 列到系统视图 pg_stat_user_functions 和 pg_stat_database_conflicts · 新功能
新增
stats_reset列到系统视图pg_stat_user_functions和pg_stat_database_conflicts(Bertrand Drouvot,Shihao Zhong)§§原始发布条目 ·
19.0/changes/048新增 location 列到系统视图 pg_available_extensions 和 pg_available_extension_versions,用于报告扩展所在的文件系统目录 · 新功能
新增
location列到系统视图pg_available_extensions和pg_available_extension_versions,用于报告扩展所在的文件系统目录(Matheus Alcantara)§原始发布条目 ·
19.0/changes/049新增 backup_type 列到系统视图 pg_stat_progress_basebackup,用于报告备份类型 · 新功能
新增
backup_type列到系统视图pg_stat_progress_basebackup,用于报告备份类型(Shinya Kato)§可能的值为
full或incremental。原始发布条目 ·
19.0/changes/050新增 connecting 值到系统视图列 pg_stat_wal_receiver.status · 新功能
新增
connecting值到系统视图列pg_stat_wal_receiver.status(Xuneng Zhou)§原始发布条目 ·
19.0/changes/051新增对写入 WAL 的整页镜像字节数的报告 · 新功能
新增对写入 WAL 的整页镜像字节数的报告(Shinya Kato)§
可通过系统视图
pg_stat_wal和函数pg_stat_get_backend_wal()访问。原始发布条目 ·
19.0/changes/052在系统视图 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列。原始发布条目 ·
19.0/changes/053为范围类型的扩展统计信息在系统视图 pg_stats_ext_exprs 中新增相关信息 · 新功能
为范围类型的扩展统计信息在系统视图
pg_stats_ext_exprs中新增相关信息(Corey Huinker,Michael Paquier)§原始发布条目 ·
19.0/changes/054允许按进程类型指定 log_min_messages 日志级别 · 新功能
允许按进程类型指定
log_min_messages日志级别(Euler Taveira)§新格式为 "
type:level"。不带冒号的值控制所有进程类型,以保持向后兼容。原始发布条目 ·
19.0/changes/055新增服务器变量 log_autoanalyze_min_duration,用于记录自动清理执行的耗时较长的分析操作 · 新功能
新增服务器变量
log_autoanalyze_min_duration,用于记录自动清理执行的耗时较长的分析操作(Shinya Kato)§服务器变量
log_autovacuum_min_duration现在只控制自动清理执行的清理操作日志。原始发布条目 ·
19.0/changes/056新增服务器变量 debug_print_raw_parse,用于记录原始解析树 · 新功能
新增服务器变量
debug_print_raw_parse,用于记录原始解析树(Chao Li)§当服务器以 debug 级别 3 及以上启动时,也会启用该输出。
原始发布条目 ·
19.0/changes/058让来自远端服务器的消息以与本地服务器消息相同的格式出现在服务器日志中 · 新功能
让来自远端服务器的消息以与本地服务器消息相同的格式出现在服务器日志中(Vignesh C)§
这包括 replication、postgres_fdw 和 dblink 服务器。
原始发布条目 ·
19.0/changes/059为 COPY FROM/TO 在管道、文件或程序上新增 I/O 等待事件 · 新功能
为
COPY FROM/TO在管道、文件或程序上新增 I/O 等待事件(Nikolay Samokhvalov)§原始发布条目 ·
19.0/changes/061新增 commit_delay 以及 WAL 写入和刷盘 LSN 的等待事件 · 新功能
新增 commit_delay 以及 WAL 写入和刷盘 LSN 的等待事件(Xuneng Zhou)§§
原始发布条目 ·
19.0/changes/062让 pg_get_sequence_data() 返回序列页 LSN · 新功能
让
pg_get_sequence_data()返回序列页 LSN(Vignesh C)§原始发布条目 ·
19.0/changes/063新增函数 pg_get_multixact_stats(),用于报告 multixact 活动 · 新功能
新增函数
pg_get_multixact_stats(),用于报告 multixact 活动(Naga Appani)§原始发布条目 ·
19.0/changes/064新增评分系统,用于控制自动清理处理表的顺序 · 新功能
新增评分系统,用于控制自动清理处理表的顺序(Nathan Bossart)§
新增的服务器变量有
autovacuum_freeze_score_weight、autovacuum_multixact_freeze_score_weight、autovacuum_vacuum_score_weight、autovacuum_vacuum_insert_score_weight和autovacuum_analyze_score_weight。原始发布条目 ·
19.0/changes/066新增 SNI(Server Name Indication)服务端支持 · 新功能
新增 SNI(Server Name Indication)服务端支持(Daniel Gustafsson,Jacob Champion)§
新的配置文件
PGDATA/pg_hosts.conf指定主机名/密钥对。原始发布条目 ·
19.0/changes/067允许 OAuth 验证器注册自定义 pg_hba.conf 认证选项 · 新功能
允许 OAuth 验证器注册自定义
pg_hba.conf认证选项(Jacob Champion,Zsolt Parragi)§原始发布条目 ·
19.0/changes/068允许角色 pg_read_all_data 和 pg_write_all_data 读写大对象 · 新功能
允许角色
pg_read_all_data和pg_write_all_data读写大对象(Nitin Motiani,Nathan Bossart)§这些角色旨在允许非超级用户运行 pg_dump。
原始发布条目 ·
19.0/changes/069将 GB18030 编码从 2000 版更新到 2022 版 · 新功能
将 GB18030 编码从 2000 版更新到 2022 版(Chao Li,Zheng Tao)§
兼容性细节请参见提交说明。
原始发布条目 ·
19.0/changes/072改进 pg_sync_replication_slots(),使其等待同步完成 · 新功能
改进
pg_sync_replication_slots(),使其等待同步完成(Ajin Cherian,Zhijie Hou)§此前某些同步失败不会被报告。
原始发布条目 ·
19.0/changes/074新增服务器变量 wal_sender_shutdown_timeout,用于限制关闭期间的副本同步等待 · 新功能
新增服务器变量
wal_sender_shutdown_timeout,用于限制关闭期间的副本同步等待(Andrey Silitskiy,Hayato Kuroda)§默认情况下,sender 仍会一直等待同步。
原始发布条目 ·
19.0/changes/075允许订阅者中存储的序列值与发布者一致 · 新功能
允许订阅者中存储的序列值与发布者一致(Vignesh C)§§§
这会在
ALTER SUBSCRIPTION ... [ADD|SET|REFRESH|DROP] PUBLICATION期间发生。函数pg_get_sequence_data()可用于检查序列同步。原始发布条目 ·
19.0/changes/076允许 CREATE/ALTER PUBLICATION 发布所有序列 · 新功能
允许
CREATE/ALTER PUBLICATION发布所有序列(Vignesh C,Tomas Vondra)§此功能通过
ALL SEQUENCES子句启用。原始发布条目 ·
19.0/changes/077允许针对发布执行 ALTER SUBSCRIPTION,以同步订阅端上的序列存在性,使其与发布端一致 · 新功能
允许针对发布执行
ALTER SUBSCRIPTION,以同步订阅端上的序列存在性,使其与发布端一致(Vignesh C)§通过
REFRESH SEQUENCES子句启用此功能。原始发布条目 ·
19.0/changes/078为 CREATE/ALTER SUBSCRIPTION 新增设置 retain_dead_tuples,用于保留冲突检测所需的信息 · 新功能
为
CREATE/ALTER SUBSCRIPTION新增设置retain_dead_tuples,用于保留冲突检测所需的信息(Zhijie Hou)§ § §同时新增设置
max_retention_duration,用于限制retain_dead_tuples的保留时间。原始发布条目 ·
19.0/changes/080允许 CREATE SUBSCRIPTION 使用 postgres_fdw 外部数据包装器连接参数 · 新功能
允许
CREATE SUBSCRIPTION使用 postgres_fdw 外部数据包装器连接参数(Jeff Davis)§连接参数通过
CREATE SUBSCRIPTION ... SERVER引用。原始发布条目 ·
19.0/changes/081当 wal_level 为 "replica" 时,允许在需要时自动启用逻辑复制 · 新功能
当
wal_level为 "replica" 时,允许在需要时自动启用逻辑复制(Masahiko Sawada)§新增的服务器变量
effective_wal_level,以及程序 pg_controldata 和函数pg_control_checkpoint(),都会报告有效 WAL 级别。原始发布条目 ·
19.0/changes/082允许按订阅和用户设置 wal_receiver_timeout · 新功能
允许按订阅和用户设置
wal_receiver_timeout(Fujii Masao)§§这允许不同订阅端使用不同的
wal_receiver_timeout值。原始发布条目 ·
19.0/changes/083新增可选 pid 参数到 pg_replication_origin_session_setup(),以允许 SQL 级复制方案并行化 · 新功能
新增可选 pid 参数到
pg_replication_origin_session_setup(),以允许 SQL 级复制方案并行化(Doruk Yilmaz,Hayato Kuroda)§原始发布条目 ·
19.0/changes/084允许 GROUP BY 处理目标列表中的子查询,即使其中的表达式引用了子查询之外的列 · 新功能
允许
GROUP BY处理目标列表中的子查询,即使其中的表达式引用了子查询之外的列(Tom Lane)§同时修复了
GROUPING()处理目标列表中的子查询别名时的一个 bug。原始发布条目 ·
19.0/changes/085新增 INSERT ... ON CONFLICT DO SELECT ... RETURNING 支持 · 新功能
新增
INSERT ... ON CONFLICT DO SELECT ... RETURNING支持(Andreas Karlsson,Marko Tiikkaja,Viktor Holmberg)§这允许返回冲突行,并可选用
FOR UPDATE/SHARE加锁。原始发布条目 ·
19.0/changes/087支持在 CREATE SCHEMA 内的 FOREIGN KEY 约束子句中使用前向引用 · 新功能
支持在
CREATE SCHEMA内的FOREIGN KEY约束子句中使用前向引用(Jian He,Tom Lane)§原始发布条目 ·
19.0/changes/091允许 CHECKPOINT 接受选项列表 · 新功能
允许
CHECKPOINT接受选项列表(Christoph Berg)§§§支持的选项为
MODE和FLUSH_UNLOGGED。原始发布条目 ·
19.0/changes/092新增 CONNECTION 子句到 CREATE FOREIGN DATA WRAPPER,用于指定将为订阅连接参数调用的函数 · 新功能
新增
CONNECTION子句到CREATE FOREIGN DATA WRAPPER,用于指定将为订阅连接参数调用的函数(Jeff Davis,Noriyoshi Shinoda)§§原始发布条目 ·
19.0/changes/093为 CREATE AGGREGATE 新增 SUPPORT 子句,使扩展可以指定支持函数来优化聚合调用 · 新功能
为
CREATE AGGREGATE新增SUPPORT子句,使扩展可以指定支持函数来优化聚合调用(Tom Lane)§原始发布条目 ·
19.0/changes/094在 VACUUM (VERBOSE) 和自动清理日志中新增内存使用和并行度报告 · 新功能
在
VACUUM (VERBOSE)和自动清理日志中新增内存使用和并行度报告(Tatsuya Kawata,Daniil Davydov)§§原始发布条目 ·
19.0/changes/095允许使用 ALTER TABLE ALTER CONSTRAINT ... [NOT] ENFORCED 修改 CHECK 约束 · 新功能
允许使用
ALTER TABLE ALTER CONSTRAINT ... [NOT] ENFORCED修改CHECK约束(Jian He)§此前只有外键约束支持更改强制执行状态。
原始发布条目 ·
19.0/changes/096允许在虚拟列上成功执行 ALTER TABLE ... COLUMN SET EXPRESSION,即使它带有 CHECK 约束 · 新功能
允许在虚拟列上成功执行
ALTER TABLE ... COLUMN SET EXPRESSION,即使它带有CHECK约束(Jian He)§此前这是被禁止的。
原始发布条目 ·
19.0/changes/097允许 COPY TO 处理分区表 · 新功能
允许
COPY TO处理分区表(Jian He,Ajin Cherian)§§此前必须使用
COPY (SELECT ...)才能输出分区表。这也改进了逻辑复制中的表同步。原始发布条目 ·
19.0/changes/101新增 EXPLAIN ANALYZE 选项 IO,用于报告异步 I/O 活动 · 新功能
新增
EXPLAIN ANALYZE选项IO,用于报告异步 I/O 活动(Tomas Vondra)§§§原始发布条目 ·
19.0/changes/102新增 WAL 整页写入字节数报告到 EXPLAIN (ANALYZE, WAL) 输出 · 新功能
新增 WAL 整页写入字节数报告到
EXPLAIN (ANALYZE, WAL)输出(Shinya Kato)§原始发布条目 ·
19.0/changes/103允许使用 regdatabase 在数据库名和 oid 之间转换 · 新功能
允许使用
regdatabase在数据库名和oid之间转换(Ian Lawrence Barwick)§原始发布条目 ·
19.0/changes/108新增 tid_block() 和 tid_offset() 函数,用于从 tid 值中提取块号和偏移量 · 新功能
新增
tid_block()和tid_offset()函数,用于从tid值中提取块号和偏移量(Ayush Tiwari)§原始发布条目 ·
19.0/changes/109新增 date、timestamp 和 timestamptz 版本的 random(min, max) · 新功能
新增
date、timestamp和timestamptz版本的random(min, max)(Damien Clochard,Dean Rasheed)§§原始发布条目 ·
19.0/changes/110新增用于返回范围减法结果范围集的函数 · 新功能
新增用于返回范围减法结果范围集的函数(Paul A. Jungwirth)§
函数为
range_minus_multi()和multirange_minus_multi()。这对表示带间隙的范围减法结果很有用。原始发布条目 ·
19.0/changes/112新增函数 error_on_null(),用于返回提供的参数,或在 NULL 输入时报告错误 · 新功能
新增函数
error_on_null(),用于返回提供的参数,或在NULL输入时报告错误(Joel Jacobson)§原始发布条目 ·
19.0/changes/113新增波兰语和世界语的全文词干分析器 · 新功能
荷兰语词干分析器现在使用了不同的算法,这会改变许多单词的词干;先前的算法可通过
dutch_porter使用。英语、法语、德语、立陶宛语、挪威语、西班牙语、瑞典语和土耳其语的词干分析器也已更新,某些单词会生成不同的词干。
原始发布条目 ·
19.0/changes/115新增用于兼容性测试的特殊 libpq 协议参数 · 新功能
新增用于兼容性测试的特殊 libpq 协议参数(Jelte Fennema-Nio,Jacob Champion)§
这也称为 protocol grease,曾在 19 beta 期间启用。从 PostgreSQL 19 正式版开始将不再发送这些参数,但相关参数保留项仍会保留,以备将来使用。
原始发布条目 ·
19.0/changes/117新增 libpq 连接参数 oauth_ca_file,用于在与 OAuth 提供者通信时指定其他证书颁发机构 · 新功能
新增 libpq 连接参数
oauth_ca_file,用于在与 OAuth 提供者通信时指定其他证书颁发机构(Jonathan Gonzalez V.,Jacob Champion)§也可以通过环境变量
PGOAUTHCAFILE设置。默认使用 curl 内置证书。原始发布条目 ·
19.0/changes/118允许 libpq 环境变量 PGOAUTHDEBUG 指定具体调试选项 · 新功能
允许 libpq 环境变量
PGOAUTHDEBUG指定具体调试选项(Zsolt Parragi,Jacob Champion)§UNSAFE选项仍会生成全部调试输出。原始发布条目 ·
19.0/changes/119改进自定义 OAuth 客户端流程 · 新功能
改进自定义 OAuth 客户端流程(Jacob Champion)§ §
此前,自定义流程失败时 libpq 只报告一条通用错误消息,并且每个流程实现都必须独立计算 issuer 标识符。新增 authdata 钩子类型
PQAUTHDATA_OAUTH_BEARER_TOKEN_V2,它会预先计算 issuer ID,并允许钩子提供错误细节。原始发布条目 ·
19.0/changes/120新增 libpq 函数 PQgetThreadLock(),用于获取当前锁回调 · 新功能
新增 libpq 函数
PQgetThreadLock(),用于获取当前锁回调(Jacob Champion)§原始发布条目 ·
19.0/changes/121允许在 psql 中控制 boolean 值的显示方式 · 新功能
允许在 psql 中控制 boolean 值的显示方式(David G. Johnston)§
\pset 变量为
display_true和display_false。原始发布条目 ·
19.0/changes/125允许 pg_verifybackup 读取 WAL 文件,这些文件存储在 tar 归档中 · 新功能
允许 pg_verifybackup 读取 WAL 文件,这些文件存储在 tar 归档中(Amul Sul)§
新增
--wal-path选项,作为现有且已弃用的--wal-directory选项的别名。原始发布条目 ·
19.0/changes/131允许 pg_waldump 读取 WAL 文件,这些文件存储在 tar 归档中 · 新功能
允许 pg_waldump 读取 WAL 文件,这些文件存储在 tar 归档中(Amul Sul)§
原始发布条目 ·
19.0/changes/132允许 pg_upgrade 处理存放在 PGDATA 目录中的非默认表空间 · 新功能
允许 pg_upgrade 处理存放在
PGDATA目录中的非默认表空间(Nathan Bossart)§此前这类表空间会报错。
原始发布条目 ·
19.0/changes/134改进 pg_test_timing 的可用性 · 新功能
改进 pg_test_timing 的可用性(Hannu Krosing,Tom Lane)§§
现在报告纳秒而不是微秒;除直方图输出外,还会输出第二张精确计时表,并可通过
--cutoff指定可选截断。原始发布条目 ·
19.0/changes/136允许 pg_createsubscriber 忽略已存在的指定发布 · 新功能
允许 pg_createsubscriber 忽略已存在的指定发布(Shubham Khanna)§
此前这会报错。
原始发布条目 ·
19.0/changes/137更改 pg_createsubscriber 存储恢复参数的方式 · 新功能
更改 pg_createsubscriber 存储恢复参数的方式(Alyona Vinter)§
变更会存放在可选包含的
pg_createsubscriber.conf中,而不是直接写入postgresql.auto.conf。原始发布条目 ·
19.0/changes/138新增 pg_createsubscriber 选项 -l/--logdir,用于把输出重定向到文件 · 新功能
新增 pg_createsubscriber 选项
-l/--logdir,用于把输出重定向到文件(Gyan Sreejith,Hayato Kuroda)§原始发布条目 ·
19.0/changes/139要求 Visual Studio 2019 或更高版本 · 新功能
要求 Visual Studio 2019 或更高版本(Peter Eisentraut)§
原始发布条目 ·
19.0/changes/142修改 hex_encode() 和 hex_decode(),使其使用 SIMD CPU 指令 · 新功能
修改
hex_encode()和hex_decode(),使其使用 SIMD CPU 指令(Nathan Bossart,Chiranmoy Bhattacharya)§原始发布条目 ·
19.0/changes/150允许 OAuth 验证器提供失败细节 · 新功能
允许 OAuth 验证器提供失败细节(Jacob Champion)§
通过设置
ValidatorModuleResult结构体成员 error_detail 实现。原始发布条目 ·
19.0/changes/158新增简化且改进的共享内存注册函数 ShmemRequestStruct() · 新功能
新增简化且改进的共享内存注册函数
ShmemRequestStruct()(Heikki Linnakangas,Ashutosh Bapat)§ShmemInitStruct()和ShmemInitHash()仍保留以兼容旧代码。原始发布条目 ·
19.0/changes/159新增服务器变量 debug_exec_backend,用于报告参数如何传递给新后端 · 新功能
新增服务器变量
debug_exec_backend,用于报告参数如何传递给新后端(Daniel Gustafsson)§原始发布条目 ·
19.0/changes/160更新文档中的 systemd 示例,加入 restart 设置 · 新功能
更新文档中的 systemd 示例,加入 restart 设置(Andrew Jackson)§
原始发布条目 ·
19.0/changes/163新增 pg_plan_advice 模块,用于稳定和控制规划器决策 · 新功能
新增 pg_plan_advice 模块,用于稳定和控制规划器决策(Robert Haas)§§
原始发布条目 ·
19.0/changes/164新增扩展 pg_stash_advice,用于按 query-id 指定建议 · 新功能
新增扩展 pg_stash_advice,用于按 query-id 指定建议(Robert Haas,Lukas Fittl)§§
原始发布条目 ·
19.0/changes/165将 FETCH 查询的大小作为常量显示在 pg_stat_statements 中 · 新功能
将
FETCH查询的大小作为常量显示在 pg_stat_statements 中(Sami Imseih)§不同大小的 FETCH 现在会在 pg_stat_statements 输出中归并到一起。
原始发布条目 ·
19.0/changes/166新增通用计划和自定义计划计数到 pg_stat_statements · 新功能
新增通用计划和自定义计划计数到 pg_stat_statements(Sami Imseih)§
原始发布条目 ·
19.0/changes/167重构 pg_buffercache 的共享内存映射报告 · 新功能
重构 pg_buffercache 的共享内存映射报告(Bertrand Drouvot)§
新增函数
pg_buffercache_os_pages()和系统视图pg_buffercache_os_pages,用于报告共享内存映射;函数还可选包含 NUMA 细节。为向后兼容,pg_buffercache_numa_pages()仍然保留。原始发布条目 ·
19.0/changes/168为 pg_buffercache 新增将缓冲区标记为脏的函数 · 新功能
为 pg_buffercache 新增将缓冲区标记为脏的函数(Nazir Bilal Yavuz)§
这些函数为
pg_buffercache_mark_dirty()、pg_buffercache_mark_dirty_relation()和pg_buffercache_mark_dirty_all()。原始发布条目 ·
19.0/changes/169允许在预备语句中向 postgres_fdw 外部服务器下推数组比较 · 新功能
允许在预备语句中向 postgres_fdw 外部服务器下推数组比较(Alexander Pyhalov)§
原始发布条目 ·
19.0/changes/170允许从外部数据包装器服务器获取统计信息 · 新功能
允许从外部数据包装器服务器获取统计信息(Corey Huinker,Etsuro Fujita)§§
postgres_fdw 通过
import_stats选项启用此功能。默认情况下,ANALYZE会从远端服务器取回行并在本地生成统计信息。原始发布条目 ·
19.0/changes/171新增服务器变量 auto_explain.log_io,为 auto_explain 添加 IO 报告 · 新功能
新增服务器变量
auto_explain.log_io,为 auto_explain 添加 IO 报告(Tomas Vondra)§原始发布条目 ·
19.0/changes/173允许 auto_explain 添加扩展特定的 EXPLAIN 选项,并通过服务器变量 auto_explain.log_extension_options 控制 · 新功能
允许 auto_explain 添加扩展特定的
EXPLAIN选项,并通过服务器变量auto_explain.log_extension_options控制(Robert Haas)§原始发布条目 ·
19.0/changes/174
安全证据
共 0 条记录,来自官方安全矩阵及发布说明的提及。只有安全快照明确列出此分支时才显示修复版本;仅有提及不能确定漏洞适用性或新修复。
安全快照没有 PostgreSQL 19 的完整分支矩阵。缺乏明确证据的漏洞状态保留为未知。
此快照没有分支相关安全记录,这不证明不存在漏洞。