pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
文档版本对比
POSTGRESQL · VERSION COMPARE
本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。
从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。
收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。
本次发布的全部变更
2021-09-30
14.0 受支持版本维护截止 2026-11-12
对于希望从任何以前的版本迁移数据的人来说,需要使用pg_dumpall进行转储/恢复,或者使用pg_upgrade或逻辑复制。有关迁移到新主要版本的通用信息,请参阅第 19.6 节。
版本 14 包含许多可能影响与先前版本兼容性的变更。请注意以下不兼容性:
兼容性
引用某些内置数组函数及其参数类型的用户定义对象必须重新创建(Tom Lane)§
具体来说,array_append()、array_prepend()、array_cat()、array_position()、array_positions()、array_remove()、array_replace() 和 width_bucket() 以前接受 anyarray 参数,但现在接受 anycompatiblearray。因此,引用这些数组函数签名的用户定义对象(如聚合和操作符)必须在升级前删除,并在升级完成后重新创建。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
兼容性
修复 to_tsquery() 和 websearch_to_tsquery() 以正确解析包含丢弃标记的查询文本(Alexander Korotkov)§
某些丢弃标记(如下划线)会导致这些函数产生不正确的 tsquery 输出,例如,websearch_to_tsquery('"pg_class pg"') 和 to_tsquery('pg_class <-> pg') 以前都输出 ( 'pg' & 'class' ) <-> 'pg',但现在都输出 'pg' <-> 'class' <-> 'pg'。
兼容性
修复 websearch_to_tsquery() 以正确解析引号中多个相邻丢弃标记(Alexander Korotkov)§
以前,包含多个相邻丢弃标记的引号文本被视为多个标记,导致不正确的 tsquery 输出,例如,websearch_to_tsquery('"aaa: bbb"') 以前输出 'aaa' <2> 'bbb',但现在输出 'aaa' <-> 'bbb'。
兼容性
当输入为单个 NaN 值时,将带有 numeric 参数的 var_samp() 和 stddev_samp() 改为返回 NULL(Tom Lane)§
以前返回 NaN。
兼容性
当使用属性编号检查不存在或已删除的列时,has_column_privilege() 返回 false(Joe Conway)§
以前这样的属性编号会返回无效列错误。
兼容性
移除阶乘操作符 ! 和 !!,以及函数 numeric_fac()(Mark Dilger)§
factorial() 函数仍然受支持。
兼容性
禁止对负数使用 factorial()(Peter Eisentraut)§
以前这种情况返回 1。
兼容性
禁止在正则表达式字符类中使用 \w 作为范围起点或终点(Tom Lane)§
以前这是允许的,但产生了意外的结果。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
兼容性
将password_encryption服务器参数的默认值改为 scram-sha-256(Peter Eisentraut)§
以前默认值为 md5。除非更改此服务器设置或密码以 MD5 格式指定,否则所有新密码将以 SHA256 存储。此外,以前作为 md5 同义词的旧式(未记录的)布尔型值不再被接受。
兼容性
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
兼容性
移除服务器参数 operator_precedence_warning(Tom Lane)§
此设置用于警告应用程序关于 PostgreSQL 9.5 的变更。
兼容性
改进 pg_hba.conf 中 clientcert 的规范(Kyotaro Horiguchi)§
不再支持值 1/0/no-verify;只能使用字符串 verify-ca 和 verify-full。此外,如果启用了 cert 认证,则禁止使用 verify-ca,因为 cert 要求 verify-full 检查。
兼容性
禁止在 CREATE/DROP LANGUAGE 命令中对语言名称使用单引号(Peter Eisentraut)§
兼容性
移除 contrib 程序 pg_standby(Justin Pryzby)§
服务器
增加预定义角色 pg_read_all_data 和 pg_write_all_data(Stephen Frost)§
这些非登录角色可用于授予对所有表、视图和序列的读或写权限。
服务器
增加预定义角色 pg_database_owner,其仅包含当前数据库的所有者(Noah Misch)§
这在模板数据库中特别有用。
服务器
在后端崩溃后删除临时文件(Euler Taveira)§
以前,此类文件为调试目的而被保留。如有必要,可通过新的服务器参数remove_temp_files_after_crash禁用删除。
服务器
允许在客户端断开连接时取消长时间运行的查询(Sergey Cherkashin,Thomas Munro)§
服务器参数client_connection_check_interval允许控制是否在查询执行期间检查连接丢失。(这在 Linux 和少数其他操作系统上受支持。)
服务器
为 pg_terminate_backend() 增加可选的超时参数(Magnus Hagander)§
服务器 / 清理
允许 vacuum 在可移除的索引条目数量不显著时跳过索引清理(Masahiko Sawada,Peter Geoghegan)§ §
vacuum 参数 INDEX_CLEANUP 有一个新的默认值 auto 来启用此优化。
服务器 / 清理
允许 vacuum 更积极地将已删除的 B-树页面添加到空闲空间映射中(Peter Geoghegan)§
以前的清理只能将此前清理标记为已删除的页面添加到空闲空间映射中。
服务器 / 清理
允许 vacuum 回收未使用的尾部堆行指针所占用的空间(Matthias van de Meent,Peter Geoghegan)§
服务器 / 清理
加速具有许多关系的数据库的清理(Tatsuhito Kasahara)§
服务器 / 清理
降低vacuum_cost_page_miss的默认值以更好地反映当前硬件能力(Peter Geoghegan)§
服务器 / 清理
使 COPY FREEZE 适当地更新页面可见性位(Anastasia Lubennikova,Pavan Deolasee,Jeff Janes)§
服务器 / 清理
当表接近 xid 或 multixact 回卷时,使 vacuum 操作更加积极(Masahiko Sawada,Peter Geoghegan)§
服务器 / 清理
增加事务 ID 和多事务回卷之前的警告时间和硬限制(Noah Misch)§
这应该减少在未发出回卷警告的情况下发生故障的可能性。
服务器 / 清理
在autovacuum 日志输出中增加每索引信息(Masahiko Sawada)§
服务器 / 分区
忽略分区边界值中的 COLLATE 子句(Tom Lane)§
以前任何此类子句必须匹配分区键的排序规则;但更一致的做法是认为它会自动被强制转换为分区键的排序规则。
服务器 / 索引
允许 BRIN 索引使用布隆过滤器(Tomas Vondra)§
这允许 BRIN 索引在数据在堆中不太集中的情况下有效使用。
服务器 / 优化器
允许对包含许多常量的 IN 子句使用 hash 查找(James Coleman,David Rowley)§
以前代码总是顺序扫描值列表。
服务器 / 优化器
允许对表达式创建扩展统计信息(Tomas Vondra)§
这允许对一组表达式和列创建统计信息,而不是像以前那样只能针对列。系统视图 pg_stats_ext_exprs 报告此类统计信息。
服务器 / 优化器
修复 EXPLAIN CREATE TABLE AS 和 EXPLAIN CREATE MATERIALIZED VIEW 以遵守 IF NOT EXISTS(Bharath Rupireddy)§
以前,如果对象已存在,EXPLAIN 会失败。
服务器 / 一般性能
增加执行器方法以缓存嵌套循环连接内侧的结果(David Rowley)§
如果仅检查内侧的一小部分行,这很有用。可通过服务器参数enable_memoize禁用。
服务器 / 一般性能
允许引用多个外部表的查询并行执行外部表扫描(Robert Haas,Kyotaro Horiguchi,Thomas Munro,Etsuro Fujita)§
如果设置了 async_capable,postgres_fdw支持这种类型的扫描。
服务器 / 一般性能
服务器 / 一般性能
大幅提高 Unicode 规范化性能(John Naylor)§ §
这加快了 normalize() 和 IS NORMALIZED 的速度。
服务器 / 一般性能
增加对 TOAST 数据使用 LZ4 压缩的能力(Dilip Kumar)§
这可以在列级别设置,或通过服务器参数default_toast_compression设为默认值。服务器必须使用 --with-lz4 编译才能支持此功能。默认设置仍为 pglz。
服务器 / 监控
如果启用了服务器参数compute_query_id,在 pg_stat_activity、EXPLAIN VERBOSE、csvlog 中显示查询 ID,以及可选地在log_line_prefix中显示(Julien Rouhaud)§ § § § §
由扩展计算的查询 ID 也将被显示。
服务器 / 监控
改进自动清理和自动分析的日志记录(Stephen Frost,Jakub Wartak)§
如果启用了track_io_timing,则报告自动清理和自动分析的 I/O 时间。同时报告自动分析的缓冲区读取和脏化速率。
服务器 / 监控
在log_connections的输出中增加客户端提供的原始用户名信息(Jacob Champion)§
服务器 / 系统视图
增加系统视图 pg_stat_progress_copy 以报告 COPY 进度(Josef Šimánek,Matthias van de Meent)§ §
服务器 / 系统视图
增加系统视图 pg_stat_wal 以报告 WAL 活动(Masahiro Ikeda)§ § §
服务器 / 系统视图
增加系统视图 pg_stat_replication_slots 以报告复制槽活动(Masahiko Sawada,Amit Kapila,Vignesh C)§ § § §
函数 pg_stat_reset_replication_slot() 可重置槽统计信息。
服务器 / 系统视图
增加系统视图 pg_backend_memory_contexts 以报告会话内存使用情况(Atsushi Torikoshi,Fujii Masao)§ §
服务器 / 系统视图
增加函数 pg_log_backend_memory_contexts() 以输出任意后端的内存上下文(Atsushi Torikoshi)§
服务器 / 系统视图
在 pg_stat_database 系统视图中增加会话统计信息(Laurenz Albe)§
服务器 / 系统视图
在 pg_prepared_statements 中增加报告通用和自定义计划计数的列(Atsushi Torikoshi,Kyotaro Horiguchi)§
服务器 / 系统视图
使归档进程在 pg_stat_activity 中可见(Kyotaro Horiguchi)§
服务器 / 系统视图
增加等待事件 WalReceiverExit 以报告 WAL 接收器退出等待时间(Fujii Masao)§
服务器 / 系统视图
实现信息模式视图 routine_column_usage 以跟踪函数和过程默认表达式引用的列(Peter Eisentraut)§
服务器 / 认证
允许匹配 SSL 证书的专有名称(DN)用于客户端证书认证(Andrew Dunstan)§
新的 pg_hba.conf 选项 clientname=DN 允许与 CN 以外的证书属性进行比较,并可与 ident 映射组合使用。
服务器 / 认证
允许 pg_hba.conf 和 pg_ident.conf 记录跨越多行(Fabien Coelho)§
行末的反斜杠允许记录内容续到下一行。
服务器 / 认证
允许指定证书吊销列表(CRL)目录(Kyotaro Horiguchi)§
这由服务器参数ssl_crl_dir和 libpq 连接选项sslcrldir控制。以前只能指定单个 CRL 文件。
服务器 / 认证
允许任意长度的密码(Tom Lane,Nathan Bossart)§
服务器 / 服务器配置
增加服务器参数idle_session_timeout以关闭空闲会话(Li Japin)§
服务器 / 服务器配置
将checkpoint_completion_target的默认值改为 0.9(Stephen Frost)§
之前的默认值为 0.5。
服务器 / 服务器配置
允许在log_line_prefix中使用 %P 来报告并行工作进程的并行组领导者 PID(Justin Pryzby)§
服务器 / 服务器配置
允许unix_socket_directories以单独的、逗号分隔的引号字符串指定路径(Ian Lawrence Barwick)§
以前所有路径必须在一个引号字符串中。
服务器 / 服务器配置
允许在启动时分配动态共享内存(Thomas Munro)§
这由min_dynamic_shared_memory控制。这允许更多地使用大页面。
服务器 / 服务器配置
增加服务器参数huge_page_size以控制 Linux 上使用的大页面大小(Odin Ugedal)§
流复制与恢复
允许在服务器重载时更改restore_command设置(Sergei Kornilov)§
你也可以将 restore_command 设置为空字符串并重载,以强制恢复仅从 pg_wal 目录读取。
流复制与恢复
增加服务器参数log_recovery_conflict_waits以报告长时间的恢复冲突等待(Bertrand Drouvot,Masahiko Sawada)§ §
流复制与恢复
当主库以阻止备库重放的方式更改参数时,暂停热备库上的恢复(Peter Eisentraut)§
以前备库会立即关闭。
流复制与恢复
增加函数 pg_get_wal_replay_pause_state() 以报告恢复状态(Dilip Kumar)§
它比 pg_is_wal_replay_paused() 提供更详细的信息,后者仍然存在。
流复制与恢复
增加新的只读服务器参数in_hot_standby(Haribabu Kommi,Greg Nancarrow,Tom Lane)§
这允许客户端轻松检测是否连接到热备库。
流复制与恢复
在具有大量共享缓冲区的集簇上加速恢复期间小表的截断(Kirk Jamison)§
流复制与恢复
允许在 Linux 上崩溃恢复开始时进行文件系统同步(Thomas Munro)§
默认情况下,PostgreSQL 在崩溃恢复开始时打开并 fsync 数据库集簇中的每个数据文件。新设置recovery_init_sync_method=syncfs 改为同步集簇使用的每个文件系统。这允许在具有许多数据库文件的系统上更快地恢复。
流复制与恢复
增加函数 pg_xact_commit_timestamp_origin() 以返回指定事务的提交时间戳和复制来源(Movead Li)§
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
流复制与恢复
在 pg_last_committed_xact() 返回的记录中增加复制来源(Movead Li)§
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
流复制与恢复 / 逻辑复制
允许逻辑复制将长时间进行中的事务流式传输给订阅者(Dilip Kumar,Amit Kapila,Ajin Cherian,Tomas Vondra,Nikhil Sontakke,Stas Kelvich)§ § § §
以前超过logical_decoding_work_mem的事务会被写入磁盘直到事务完成。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
流复制与恢复 / 逻辑复制
允许逻辑复制中表同步期间的多个事务(Peter Smith,Amit Kapila,Takamichi Osumi)§
流复制与恢复 / 逻辑复制
立即将子事务和顶层 XID 关联写入 WAL 日志(Tomas Vondra,Dilip Kumar,Amit Kapila)§
这对逻辑解码有用。
流复制与恢复 / 逻辑复制
在使用逻辑复制时,在命令完成时向 WAL 添加缓存失效消息(Dilip Kumar,Tomas Vondra,Amit Kapila)§
这允许逻辑流式传输进行中的事务。当逻辑复制被禁用时,失效消息仅在事务完成时生成。
流复制与恢复 / 逻辑复制
允许控制逻辑解码消息是否发送到复制流(David Pirotte,Euler Taveira)§
流复制与恢复 / 逻辑复制
允许逻辑复制订阅使用二进制传输模式(Dave Cramer)§
这比文本模式更快,但略微不那么健壮。
流复制与恢复 / 逻辑复制
允许逻辑解码按 xid 过滤(Markus Wanner)§
SELECT、INSERT
减少不使用 AS 就不能用作列标签的关键字数量(Mark Dilger)§
现在受限关键字减少了 90%。
SELECT、INSERT
允许为 JOIN 的 USING 子句指定别名(Peter Eisentraut)§
别名通过在 USING 子句后写 AS 来创建。它可用作合并的 USING 列的表限定。
SELECT、INSERT
允许将 DISTINCT 添加到 GROUP BY 以移除重复的 GROUPING SET 组合(Vik Fearing)§
例如,GROUP BY CUBE (a,b), CUBE (b,c) 在没有 DISTINCT 的情况下会生成重复的分组组合。
SELECT、INSERT
正确处理 INSERT 中多行 VALUES 列表中的 DEFAULT 条目(Dean Rasheed)§
此类情况以前会抛出错误。
SELECT、INSERT
允许 ON CONFLICT 的 WHERE 子句中的列名使用表限定(Tom Lane)§
但是,只能引用目标表。
工具命令
允许 REFRESH MATERIALIZED VIEW 使用并行执行(Bharath Rupireddy)§
工具命令
允许 REINDEX 处理分区关系的所有子表或索引(Justin Pryzby,Michael Paquier)§
工具命令
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
工具命令
为 CREATE TRIGGER 增加 OR REPLACE 选项(Takamichi Osumi)§
这允许有条件地替换已存在的触发器。
工具命令
允许 TRUNCATE 操作外部表(Kazutaka Onishi,Kohei KaiGai)§
postgres_fdw 模块现在也支持此功能。
工具命令
允许更方便地向订阅中添加和从中移除发布(Japin Li)§
新语法为 ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION。这避免了需要指定所有发布来添加/移除条目。
工具命令
为系统目录增加主键、唯一约束和外键(Peter Eisentraut)§ §
这些更改帮助 GUI 工具分析系统目录。目录现有的唯一索引现在具有关联的 UNIQUE 或 PRIMARY KEY 约束。外键关系实际上并未作为约束存储或实现,但可通过函数 pg_get_catalog_foreign_keys() 获取以供显示。
工具命令
在接受 CURRENT_USER 的每个地方都允许 CURRENT_ROLE(Peter Eisentraut)§
数据类型
允许 tsearch 数据文件具有无限行长度(Tom Lane)§
之前的限制为 4K 字节。同时移除函数 t_readline()。
数据类型
增加对 numeric 数据类型中 Infinity 和 -Infinity 值的支持(Tom Lane)§
浮点数据类型已经支持这些值。
数据类型
为系统目录创建复合数组类型(Wenjing Zeng)§
用户定义的关系长期以来就有关联的复合类型,也有这些复合类型上的数组类型。系统目录现在也是如此。此更改还修复了在单用户模式下创建用户定义表时无法创建复合数组类型的不一致性。
函数
允许某些数组函数在兼容数据类型的组合上操作(Tom Lane)§
函数 array_append()、array_prepend()、array_cat()、array_position()、array_positions()、array_remove()、array_replace() 和 width_bucket() 现在接受 anycompatiblearray 而不是 anyarray 参数。这使它们对参数类型的精确匹配要求更低。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
函数
增加 SQL 标准的 trim_array() 函数(Vik Fearing)§
使用数组切片也可以实现此功能,但不那么方便。
函数
在 split_part() 中支持负索引(Nikhil Benesch)§
负值从最后一个字段开始向前计数。
函数
增加 string_to_table() 函数以按分隔符拆分字符串(Pavel Stehule)§
这类似于 regexp_split_to_table() 函数。
函数
增加函数 bit_count() 以返回位或字节字符串中设置的位数(David Fetter)§
函数
增加 date_bin() 函数(John Naylor)§ §
此函数将输入时间戳进行“分箱”,将它们分组到与指定原点对齐的均匀长度的区间中。
函数
允许 make_timestamp()/make_timestamptz() 接受负年份(Peter Eisentraut)§
负值被解释为 BC 年。
函数
增加更新的正则表达式 substring() 语法(Peter Eisentraut)§
新的 SQL 标准语法为 SUBSTRING(text SIMILAR pattern ESCAPE escapechar)。之前的标准语法 SUBSTRING(text FROM pattern FOR escapechar) 仍被 PostgreSQL 接受。
函数
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
函数
增加 [[:word:]] 作为正则表达式字符类,等同于 \w(Tom Lane)§
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
函数
使浮点 NaN 除以零返回 NaN(Tom Lane)§
以前这返回一个错误。
函数
改进涉及无穷大的几何计算的精度(Tom Lane)§
函数
尽可能将内置类型转换函数标记为防泄漏(Tom Lane)§
这允许在安全敏感情况下更多地使用需要类型转换的函数。
函数
改变 pg_describe_object()、pg_identify_object() 和 pg_identify_object_as_address(),使其始终为不存在的对象报告有用的错误消息(Michael Paquier)§
PL/pgSQL
允许 plpgsql 的 RETURN QUERY 使用并行执行其查询(Tom Lane)§
客户端接口
增强 libpq 的 target_session_attrs 参数选项(Haribabu Kommi,Greg Nancarrow,Vignesh C,Tom Lane)§ §
新选项为 read-only、primary、standby 和 prefer-standby。
客户端接口
允许将 ECPG SQL 标识符链接到特定连接(Hayato Kuroda)§
这通过 DECLARE ... STATEMENT 完成。
客户端应用
在 pgbench 使用 -C 选项测量的重连开销中包含断开连接时间(Yugo Nagata)§
客户端应用
允许多次指定详细选项(-v)以增加日志详细程度(Tom Lane)§
pg_dump、pg_dumpall和pg_restore支持此行为。
客户端应用 / psql
允许 psql 的 \df 和 \do 命令指定函数和操作符参数类型(Greg Sabino Mullane,Tom Lane)§
这有助于减少重载名称打印的匹配数。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
客户端应用 / psql
在 psql 的 \d[i|m|t]+ 输出中增加访问方法列(Georgios Kokolatos)§
客户端应用 / psql
允许 psql 的 \dt 和 \di 显示 TOAST 表及其索引(Justin Pryzby)§
客户端应用 / psql
增加 psql 命令 \dX 以列出扩展统计对象(Tatsuro Yamada)§
客户端应用 / psql
修复 psql 的 \dT 以理解数组语法和后端语法别名,如 int 代替 integer(Greg Sabino Mullane,Tom Lane)§
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
客户端应用 / psql
当使用 psql 的 \e 编辑之前的查询或文件,或使用 \ef 和 \ev 时,如果编辑器未保存就退出则忽略结果(Laurenz Albe)§
以前,这种编辑会将之前的查询加载到查询缓冲区中,并且通常会立即执行。这被认为可能不是用户想要的。
服务器应用
增加命令行工具pg_amcheck以简化在多个关系上运行 contrib/amcheck 测试(Mark Dilger)§
服务器应用
停止pg_upgrade创建 analyze_new_cluster 脚本(Magnus Hagander)§
取而代之的是给出类似的vacuumdb说明。
服务器应用
移除对 postmaster -o 选项的支持(Magnus Hagander)§
此选项是不必要的,因为所有传递的选项都已经可以直接指定。
文档
增加 factorial() 函数的文档(Peter Eisentraut)§
随着此版本移除了 ! 操作符,factorial() 是计算阶乘的唯一内置方式。
源代码
增加 configure 选项 --with-ssl={openssl} 以允许将来选择要使用的 SSL 库(Daniel Gustafsson,Michael Paquier)§
保留 --with-openssl 拼写以兼容。
源代码
增加对抽象 Unix 域套接字的支持(Peter Eisentraut)§
目前在 Linux 和 Windows 上受支持。
源代码
增加服务器参数debug_discard_caches以控制用于测试目的的缓存刷新(Craig Ringer)§ § §
以前此行为只能在编译时设置。要在 initdb 期间调用它,使用新选项 --discard-caches。
源代码
增加正则表达式包的测试模块(Tom Lane)§
源代码
增加对 LLVM 版本 12 的支持(Andres Freund)§
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
源代码
移除对随机数生成器选择的单独构建时控制(Daniel Gustafsson)§
现在始终由 SSL 库的选择决定。
源代码
增加 EUC_TW 和 Big5 编码之间的直接转换例程(Heikki Linnakangas)§
源代码
增加 FreeBSD 的排序规则版本支持(Thomas Munro)§
源代码
在索引访问方法 API 中增加 amadjustmembers(Tom Lane)§
这允许索引访问方法在创建新操作符类或族时提供有效性检查。
源代码
在 libpq-fe.h 中提供最近添加的 libpq 功能的特性测试宏(Tom Lane,Álvaro Herrera)§
历史上,应用程序通常使用 PG_VERSION_NUM 的编译时检查来测试功能是否可用。但那通常是服务器版本,可能不能很好地指导 libpq 的版本。libpq-fe.h 现在提供 #define 符号表示 v14 中添加的应用程序可见功能;意图是在将来的版本中继续为此类功能添加符号。
附加模块
允许 pgstattuple_approx() 报告 TOAST 表(Peter Eisentraut)§
附加模块
增加 contrib 模块pg_surgery以允许更改行可见性(Ashutosh Sharma)§
这对于修复数据库损坏很有用。
附加模块
增加 contrib 模块old_snapshot,用于报告活动的old_snapshot_threshold所使用的 XID/时间映射(Robert Haas)§
附加模块
允许pageinspect检查 GiST 索引(Andrey Borodin,Heikki Linnakangas)§ §
附加模块
将btree_gist函数标记为并行安全(Steven Winfield)§
附加模块 / pg_stat_statements
将查询 hash 计算从 pg_stat_statements 移至核心服务器(Julien Rouhaud)§
新服务器参数compute_query_id的默认值 auto 将在加载此扩展时自动启用查询 ID 计算。
附加模块 / pg_stat_statements
使 pg_stat_statements 分别跟踪顶层和嵌套语句(Julien Rohaud)§
以前,在跟踪所有语句时,相同的顶层和嵌套语句被作为单个条目跟踪;但分开此类用法似乎更有用。
附加模块 / postgres_fdw
允许 postgres_fdw 在 IMPORT FOREIGN SCHEMA ... LIMIT TO 指定时导入表分区(Matthias van de Meent)§
默认情况下,仅导入分区表的根表。
附加模块 / postgres_fdw
增加 postgres_fdw 函数 postgres_fdw_get_connections() 以报告打开的外部服务器连接(Bharath Rupireddy)§
附加模块 / postgres_fdw
允许控制外部服务器在事务完成后是否保持连接打开(Bharath Rupireddy)§
这由 keep_connections 控制,默认为开启。
附加模块 / postgres_fdw
增加 postgres_fdw 函数以丢弃缓存的连接(Bharath Rupireddy)§
试试其他关键词,或。
对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。
条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。
同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。
CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。
交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。