pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
文档版本对比
POSTGRESQL · VERSION COMPARE
本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。
从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。
收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。
本次发布的全部变更
2019-10-03
12.0 历史版本维护截止 2024-11-21
对于希望从任何先前版本迁移数据的用户,需要使用pg_dumpall进行导出/恢复,或使用pg_upgrade或逻辑复制。有关迁移到新主版本的一般信息,请参见第 18.6 节。
版本 12 包含许多可能影响与先前版本兼容性的变更。请注意以下不兼容性:
兼容性
移除数据类型 abstime、reltime 和 tinterval(Andres Freund)§
这些类型已被 timestamp 等 SQL 标准类型取代。
兼容性
移除 timetravel 扩展(Andres Freund)§
兼容性
将 recovery.conf 设置移入 postgresql.conf(Masao Fujii,Simon Riggs,Abhijit Menon-Sen,Sergei Kornilov)§
不再使用 recovery.conf,如果该文件存在,服务器将无法启动。现在通过 recovery.signal 和 standby.signal 文件切换到非主库模式。trigger_file 设置已重命名为promote_trigger_file。standby_mode 设置已被移除。
兼容性
不再允许指定多个相互冲突的 recovery_target* 设置(Peter Eisentraut)§
具体而言,recovery_target、recovery_target_lsn、recovery_target_name、recovery_target_time和recovery_target_xid中只允许指定一个。以前可以指定这些参数中的多个不同参数,并采用最后一个。现在只能指定其中一个,但同一个参数可以重复指定,并采用最后一次指定的值。
兼容性
使恢复默认推进到最新时间线(Peter Eisentraut)§
具体而言,recovery_target_timeline现在默认为 latest,而以前默认为 current。
兼容性
采用新算法输出 real 和 double precision 值,以提高性能(Andrew Gierth)§ §
以前,显示的浮点值默认舍入到 6 位(real)或 15 位(double precision),并根据extra_float_digits的值进行调整。现在,只要 extra_float_digits 大于零(这也是现在的默认值),就只输出保留精确二进制值所需的最少位数。当 extra_float_digits 设置为零或更小时,行为与以前相同。
此外,浮点指数的格式现在在各平台上一致:除非必须使用三位数字,否则使用两位。在以前的版本中,Windows 构建始终输出三位数字。
兼容性
更改 SQL 风格的 substring(),使其具有符合标准的贪婪匹配行为(Tom Lane)§
当模式可以以多种方式匹配时,起始子模式现在会匹配尽可能少的文本,而非尽可能多的文本。例如,%#"aa*#"% 这样的模式现在会从输入中选择第一组 a,而非最后一组。
兼容性
将命令行工具 pg_verify_checksums 重命名为pg_checksums(Michaël Paquier)§
兼容性
在pg_restore中,要求指定 -f - 才能将转储内容发送到标准输出(Euler Taveira)§
以前,如果未指定目标位置,默认会这样做,但这种行为被认为不够友好。
兼容性
如果没有提供参数列表且存在多个匹配对象,则使 DROP IF EXISTS FUNCTION/PROCEDURE/AGGREGATE/ROUTINE 报错(David Rowley)§
同时改进此类情况下的错误消息。
兼容性
将 pg_statistic_ext 目录拆分为两个目录,并添加相应的 pg_stats_ext 视图(Dean Rasheed,Tomas Vondra)§ §
此更改支持向无特权用户隐藏可能敏感的统计数据。
兼容性
移除过时的 pg_constraint.consrc 列(Peter Eisentraut)§
此列早已弃用,因为它不会随其他目录变更(如列重命名)而更新。从 pg_constraint 获取检查约束表达式文本形式的推荐方法是 pg_get_expr(conbin, conrelid)。pg_get_constraintdef() 也是一种有用的替代方法。
兼容性
移除过时的 pg_attrdef.adsrc 列(Peter Eisentraut)§
此列早已弃用,因为它不会随其他目录变更(如列重命名)而更新。从 pg_attrdef 获取默认值表达式文本形式的推荐方法是 pg_get_expr(adbin, adrelid)。
兼容性
将 name 类型的表列标记为默认使用 “C” 排序规则(Tom Lane,Daniel Vérité)§ §
数据类型 name 的比较操作符现在可以使用任何排序规则,而不再总是使用 “C” 排序规则。为保留查询以前的语义,现在将 name 类型的列显式标记为使用 “C” 排序规则。这一改动的副作用是,name 列上的正则表达式操作符现在默认使用 “C” 排序规则,而非数据库的排序规则,来确定依赖区域设置的正则表达式模式(例如 \w)的行为。如果希望 name 列上的正则表达式具有非 C 行为,请附加一个显式的 COLLATE 子句。(对于用户定义的 name 列,另一种方法是在建表时指定不同的排序规则;但这只是将向后不兼容性转移到了比较操作符上。)
兼容性
将 information_schema 视图中的对象名列视为 name 类型,而非 varchar 类型(Tom Lane)§ § §
按照 SQL 标准,information_schema 视图中的对象名列被声明为域类型 sql_identifier。在 PostgreSQL 中,底层目录列实际为 name 类型。此更改使 sql_identifier 成为基于 name 的域,而非原来的 varchar。这消除了比较和排序行为中的语义不一致,可显著提高对 information_schema 视图中的对象名列施加限制的查询性能。不过请注意,不等式限制,例如
SELECT ... FROM information_schema.tables WHERE table_name < 'foo';
现在默认使用 “C” 区域设置的比较语义,而非像以前那样使用数据库的默认排序规则。对这些列进行排序也将遵循 “C” 排序规则。通过添加 COLLATE "default" 子句,可以强制使用以前的行为(及其低效率)。
兼容性
移除禁用动态共享内存的功能(Kyotaro Horiguchi)§
具体而言,dynamic_shared_memory_type不再能够设置为 none。
兼容性
更严格地解析 libpq 整数连接参数(Fabien Coelho)§
在以前的版本中,为连接参数 connect_timeout、keepalives、keepalives_count、keepalives_idle、keepalives_interval 和 port 使用不正确的整数值,会导致 libpq 忽略这些值,或失败并给出不正确的错误消息。
服务器 / 分区
提高向分区表执行 COPY 的速度(David Rowley)§
服务器 / 分区
允许分区边界使用任意表达式(Kyotaro Horiguchi,Tom Lane,Amit Langote)§
此类表达式在创建分区表时求值。以前,只允许将简单常量用作分区边界。
服务器 / 分区
允许 CREATE TABLE 为分区表指定的表空间影响其子分区的表空间(David Rowley,Álvaro Herrera)§
服务器 / 分区
如果已经按所需顺序扫描分区,则避免排序(David Rowley)§
服务器 / 分区
降低执行 ALTER TABLE ATTACH PARTITION 的锁定要求(Robert Haas)§
服务器 / 分区
添加分区自省函数(Michaël Paquier,Álvaro Herrera,Amit Langote)§ § §
新函数 pg_partition_root() 返回分区树的最顶层父表,pg_partition_ancestors() 报告分区的所有祖先,pg_partition_tree() 显示分区信息。
服务器 / 分区
在系统视图 pg_indexes 中包含分区索引(Suraj Kharage)§
服务器 / 分区
添加 psql 命令 \dP,用于列出分区表和索引(Pavel Stehule)§
服务器 / 分区
修复可能导致 ALTER TABLE DETACH PARTITION 留下不正确依赖状态的缺陷;这可能使后续操作行为异常,例如在删除表时未删除曾属于分区的子索引(Tom Lane)§
服务器 / 索引
允许多列 B-树索引占用更少空间(Peter Geoghegan,Heikki Linnakangas)
内部页面和叶子页面的最小/最大值指示项现在只存储到发生差异的键为止的索引键,而非全部索引键。这也提高了索引访问的局部性。
通过 pg_upgrade 从以前版本升级而来的索引无法获得这些好处。
服务器 / 索引
通过减少锁定开销提高 B-树索引插入速度(Alexander Korotkov)§
服务器 / 索引
减少创建 GiST、GIN 和 SP-GiST 索引时的 WAL 写入开销(Anastasia Lubennikova,Andrey V. Lepikhov)§
服务器 / 索引
提高多列索引上仅索引扫描的效率(Konstantin Knizhnik)§
服务器 / 索引
提高 GiST 索引清理扫描的性能(Andrey Borodin,Konstantin Kuznetsov,Heikki Linnakangas)§
服务器 / 索引
在 GiST VACUUM 期间删除空的叶子页面(Andrey Borodin)§
服务器 / 索引
降低索引重命名的锁定要求(Peter Eisentraut)§
服务器 / 优化器
允许CREATE STATISTICS创建多列最常见值统计信息(Tomas Vondra)§ §
这改进了对多个列进行测试、需要估算多个 WHERE 子句综合效果的查询的优化。如果这些列彼此相关且分布不均匀,多列统计信息将使估算显著改善。
服务器 / 优化器
允许控制何时为预备语句使用通用计划(Pavel Stehule)§
这由服务器参数plan_cache_mode控制。
服务器 / 优化器
改进只有一个子项的分区查询和 UNION ALL 查询的优化(David Rowley)§
服务器 / 优化器
使用为每列定义的排序规则计算 ANALYZE 统计信息(Tom Lane)§
以前,所有统计信息都使用数据库的默认排序规则。对于使用非默认排序规则的列,这可能改善优化器行为。
服务器 / 一般性能
提高 position() 及相关函数中多字节字符的搜索性能(Heikki Linnakangas)§
服务器 / 一般性能
允许 ALTER TABLE ... SET NOT NULL 避免不必要的表扫描(Sergei Kornilov)§
当可以识别出表的列约束不允许空值时,就能进行此项优化。
服务器 / 一般性能
会话时区为 UTC 时,允许使用 ALTER TABLE ... SET DATA TYPE 在 timestamp 和 timestamptz 之间转换,而无需重写表(Noah Misch)§
在 UTC 时区中,这两种数据类型是二进制兼容的。
服务器 / 一般性能
提高将字符串转换为 int2 或 int4 整数的速度(Andres Freund)§
服务器 / 一般性能
允许在 SERIALIZABLE 隔离模式下使用并行查询(Thomas Munro)§
以前,在此模式下会禁用并行执行。
服务器 / 监控
允许仅记录一定比例事务中的语句(Adrien Nayrat)§
这由参数log_transaction_sample_rate控制。
服务器 / 监控
为 CREATE INDEX 和 REINDEX 操作添加进度报告(Álvaro Herrera,Peter Eisentraut)§ §
进度通过 pg_stat_progress_create_index 系统视图报告。
服务器 / 监控
为 CLUSTER 和 VACUUM FULL 添加进度报告(Tatsuro Yamada)§
进度通过 pg_stat_progress_cluster 系统视图报告。
服务器 / 监控
为pg_checksums添加进度报告(Michael Banck,Bernd Helmle)§
可通过 --progress 选项启用此功能。
服务器 / 监控
在 pg_stat_database 中添加校验和失败计数器(Magnus Hagander)§
服务器 / 监控
在系统视图 pg_stat_database 中添加对全局对象的跟踪(Julien Rouhaud)§
全局对象对应的 pg_stat_database.datid 值显示为零。
服务器 / 监控
添加列出归档目录内容的功能(Christoph Moench-Tegeder)§
相应函数为 pg_ls_archive_statusdir()。
服务器 / 监控
添加列出临时目录内容的功能(Nathan Bossart)§
相应函数 pg_ls_tmpdir() 允许选择性地指定表空间。
服务器 / 监控
在系统视图 pg_stat_ssl 中添加客户端证书信息(Peter Eisentraut)§
新增列为 client_serial 和 issuer_dn。为使含义更清楚,将 clientdn 列重命名为 client_dn。
服务器 / 监控
限制无特权用户在 pg_stat_ssl 中可见的行(Peter Eisentraut)§
服务器 / 监控
服务器启动时输出包含服务器版本号的日志消息(Christoph Berg)§
服务器 / 监控
如果新连接立即被关闭,则避免记录 “incomplete startup packet”(Tom Lane)§
这避免了某些监控方式产生大量无用日志。
服务器 / 监控
如果设置了application_name,则在log_connections日志消息中包含它(Don Seiler)§
服务器 / 监控
如果设置了集群名称,则让 WAL 接收进程将其应用名称设置为该集群名称(Peter Eisentraut)§
服务器 / 监控
在 pg_stat_replication 中添加最后收到的备库消息的时间戳(Lim Myungkyu)§
服务器 / Authentication
添加 GSSAPI 加密支持(Robbie Harwood,Stephen Frost)§
此特性允许在使用 GSSAPI 认证时加密 TCP/IP 连接,无需另外配置 SSL 等加密设施。为支持此功能,在 pg_hba.conf 中增加了 hostgssenc 和 hostnogssenc 记录类型,用于选择使用或不使用 GSSAPI 加密的连接,分别对应现有的 hostssl 和 hostnossl 记录类型。另外,还增加了 libpq 选项gssencmode和系统视图pg_stat_gssapi。
服务器 / Authentication
允许 pg_hba.conf 的 clientcert 选项检查数据库用户名是否与客户端证书的通用名匹配(Julian Markwort,Marius Timmer)§
此项新检查通过 clientcert=verify-full 启用。
服务器 / 服务器配置
添加使用pg_checksums启用/禁用集群校验和的功能(Michael Banck,Michaël Paquier)§
执行这些操作时必须关闭集群。
服务器 / 服务器配置
将autovacuum_vacuum_cost_delay的默认值降低到 2ms(Tom Lane)§
这使自动清理操作默认能够更快地执行。
服务器 / 服务器配置
允许vacuum_cost_delay接受小数值,以指定亚毫秒级延迟(Tom Lane)§
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
服务器 / 服务器配置
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
服务器 / 服务器配置
允许整数服务器参数接受小数输入(Tom Lane)§
例如,虽然 work_mem 是整数参数,现在也允许执行 SET work_mem = '30.1GB'。完成所有必要的单位转换后,该值会被舍入为整数。
服务器 / 服务器配置
允许为浮点服务器参数定义单位(Tom Lane)§
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
服务器 / 服务器配置
添加服务器参数wal_recycle和wal_init_zero,以控制 WAL 文件的循环利用(Jerry Jelinek)§
在 ZFS 等写时复制文件系统上,避免文件循环利用可能有益。
服务器 / 服务器配置
添加服务器参数tcp_user_timeout,以控制服务器的 TCP 超时(Ryohei Nagaura)§
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
服务器 / 服务器配置
允许控制最低和最高 SSL 协议版本(Peter Eisentraut)§
服务器 / 服务器配置
添加服务器参数ssl_library,以报告服务器使用的 SSL 库版本(Peter Eisentraut)§
服务器 / 服务器配置
添加服务器参数shared_memory_type,以控制所使用的共享内存类型(Andres Freund)§
这允许在需要时选择 System V 共享内存。
流复制和恢复
允许通过重新加载配置更改部分恢复参数(Peter Eisentraut)§
这些参数是archive_cleanup_command、promote_trigger_file、recovery_end_command和recovery_min_apply_delay。
流复制和恢复
允许按连接设置流复制超时(wal_sender_timeout)(Takayuki Tsunakawa)§
以前,只能在整个集群范围内设置此参数。
流复制和恢复
添加函数 pg_promote(),用于将备库提升为主库(Laurenz Albe,Michaël Paquier)§ §
以前,只能使用pg_ctl或创建触发文件来执行此操作。
流复制和恢复
允许复制复制槽(Masahiko Sawada)§
相应函数为 pg_copy_physical_replication_slot() 和 pg_copy_logical_replication_slot()。
流复制和恢复
不再将max_wal_senders计入max_connections(Alexander Kukushkin)§
流复制和恢复
为recovery_target_timeline添加显式值 current(Peter Eisentraut)§
工具命令
允许更灵活地添加枚举值(Andrew Dunstan,Tom Lane,Thomas Munro)§
以前,不能在事务块中调用 ALTER TYPE ... ADD VALUE,除非它与创建该枚举类型的操作处于同一事务。现在可以在后续事务中调用,只要在提交之后才引用新的枚举值即可。
工具命令
添加结束当前事务并开始新事务的命令(Peter Eisentraut)§
这些命令为 COMMIT AND CHAIN 和 ROLLBACK AND CHAIN。
工具命令
添加跳过无法立即锁定的表上的 VACUUM 和 ANALYZE 操作的功能(Nathan Bossart)§
此选项名为 SKIP_LOCKED。
工具命令
允许为 VACUUM 和 ANALYZE 的选项指定可选的布尔参数(Masahiko Sawada)§
工具命令
为EXPLAIN添加 SETTINGS 选项,以输出非默认的优化器设置(Tomas Vondra)§
使用auto_explain时,也可通过设置 auto_explain.log_settings 获取这些输出。
工具命令
为CREATE AGGREGATE添加 OR REPLACE 选项(Andrew Gierth)§
工具命令
允许使用ALTER TABLE修改系统目录的选项(Peter Eisentraut)§
现在支持修改目录的 reloptions 和自动清理设置。(仍然需要设置allow_system_table_mods。)
工具命令
为外键选择默认约束名时,使用所有键列的名称(Peter Eisentraut)§
以前,约束名中只包含第一个列名,导致多列外键存在歧义。
数据类型
添加对旧版 ICU 中 ICU 排序规则属性的支持(Peter Eisentraut)§
这使所有 ICU 版本都能以一致的方式自定义排序规则。
函数
采用更精确的算法,提高 variance() 等统计聚合的精度(Dean Rasheed)§
函数
允许 date_trunc() 接受额外参数来控制时区(Vik Fearing,Tom Lane)§
这比使用 AT TIME ZONE 子句更快、更简单。
函数
调整 to_timestamp()/to_date() 函数,使其对模板不匹配更加宽容(Artur Zakirov,Alexander Korotkov,Liudmila Mantrova)§
这种新行为更接近 Oracle 的同名函数。
函数
允许在 XMLEXISTS 和 XMLTABLE 中使用 BY VALUE 子句(Chapman Flack)§
这个 SQL 标准子句在 PostgreSQL 的实现中没有作用,但以前被不必要地拒绝。
函数
防止并行工作进程运行 current_schema() 和 current_schemas(),因为它们并非并行安全(Michaël Paquier)§
PL/pgSQL
允许在同一 PL/pgSQL 函数中使用 SQL 命令及与这些命令同名的变量(Tom Lane)§
例如,允许在调用 COMMENT SQL 命令的函数中存在名为 comment 的变量。以前,这种组合会导致解析错误。
PL/pgSQL
为 PL/pgSQL 添加新的可选警告和错误检查(Pavel Stehule)§
这些新检查允许在运行时验证 INTO 的列数以及结果是否为单行。
客户端接口
添加连接参数tcp_user_timeout,以控制 libpq 的 TCP 超时(Ryohei Nagaura)§
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
客户端接口
允许 libpq(以及 psql)在错误消息中仅报告 SQLSTATE 值(Didier Gautheron)§
客户端接口
添加 libpq 函数 PQresultMemorySize(),以报告查询结果使用的内存(Lars Kanis,Tom Lane)§
客户端接口
移除 libpq 的 options 连接参数上的不显示/调试标志(Peter Eisentraut)§
这允许 postgres_fdw 设置该参数。
客户端接口
为 ECPG 添加 PREPARE AS 支持(Ryo Matsumura)§
客户端应用程序
允许 vacuumdb 禁用锁等待或禁用对全可见页面的跳过(Nathan Bossart)§
相应选项为 --skip-locked 和 --disable-page-skipping。
客户端应用程序
为命令行工具的输出添加着色(Peter Eisentraut)§
将环境变量 PG_COLOR 设置为 always 或 auto 即可启用此功能。可以设置环境变量 PG_COLORS,使用 ANSI 颜色转义码调整具体颜色。例如,默认行为等同于 PG_COLORS="error=01;31:warning=01;35:locus=01"。
客户端应用程序 / psql
在 psql 中添加 CSV 表格输出模式(Daniel Vérité)§
这通过 \pset format csv 或命令行选项 --csv 控制。
客户端应用程序 / psql
在 psql 针对 SQL 命令的 \help 输出中显示手册页面的 URL(Peter Eisentraut)§
客户端应用程序 / pgbench
提高 pgbench 的 --rate 选项的精度(Tom Lane)§
客户端应用程序 / pgbench
以更清楚的消息和返回码改进 pgbench 的错误报告(Peter Eisentraut)§
服务器应用程序
在 pg_ctl start 期间正确分离新服务器进程(Paul Guo)§
这可防止调用 pg_ctl 的 shell 脚本后来被中断时,服务器随之关闭。
服务器应用程序
如果文件系统具有克隆功能,则允许pg_upgrade使用它(Peter Eisentraut)§
--clone 选项具有 --link 的优点,同时可以防止新集群启动后旧集群被改动。
服务器应用程序
允许指定 pg_upgrade 使用的套接字目录(Daniel Gustafsson)§
这通过 --socketdir 控制,默认为当前目录。
服务器应用程序
允许pg_checksums禁用 fsync 操作(Michaël Paquier)§
这通过 --no-sync 选项控制。
服务器应用程序
修复pg_test_fsync,使其在 Windows 上报告准确的 open_datasync 耗时(Laurenz Albe)§ §
服务器应用程序 / pg_dump, pg_dumpall, pg_restore
允许 pg_dump 输出 INSERT ... ON CONFLICT DO NOTHING(Surafel Temesgen)§
这可避免恢复期间因冲突而失败。相应选项为 --on-conflict-do-nothing。
服务器应用程序 / pg_dump, pg_dumpall, pg_restore
将并行 pg_dump 的操作顺序与后续并行 pg_restore 使用的顺序解耦(Tom Lane)§
这使 pg_restore 能够以更充分的并行度执行恢复,尤其是在原始转储未并行执行的情况下。并行 pg_dump 的调度也有所改进。
服务器应用程序 / pg_dump, pg_dumpall, pg_restore
允许为 pg_dump 和 pg_dumpall 指定extra_float_digits设置(Andrew Dunstan)§
这主要用于生成能够在不同源服务器版本之间精确比较的转储。不建议在常规使用中这样做,因为恢复转储时可能丢失精度。
服务器应用程序 / pg_dump, pg_dumpall, pg_restore
为 pg_dumpall 添加 --exclude-database 选项(Andrew Dunstan)§
源代码
简化手动分配的 OID 的重新编号,并为此类 OID 的管理制定新的项目政策(John Naylor,Tom Lane)§ §
为新的内置对象(如新函数)手动分配 OID 的补丁,现在应在 8000—9999 范围内随机选择 OID。在开发周期结束时,已提交补丁使用的 OID 将通过新的 renumber_oids.pl 脚本重新编号为较小的数字,目前大约位于 4xxx 范围内。这种做法应能大幅降低不同开发中补丁之间发生 OID 冲突的概率。
虽然没有专门为外部使用预留 OID 的政策,但建议分支项目及其他需要私有手动分配 OID 的项目,使用 7xxx 范围高端的编号。这将避免与最近合入的补丁冲突,而且核心项目应该要很久才会用到该范围。
源代码
使用动态库而非静态库构建 Cygwin 二进制文件(Marco Atzeri)§
源代码
移除 configure 开关 --disable-strong-random(Michaël Paquier)§
现在必须有强随机数源。
源代码
要求符合 C99 的编译器,并在 Windows 上要求 MSVC 2013 或更高版本(Andres Freund)§
源代码
支持在 PostgreSQL 文档中使用图像(Jürgen Purtz)§
附加模块
允许在更多情况下将 ORDER BY 排序和 LIMIT 子句下推到postgres_fdw外部服务器(Etsuro Fujita)§ §
附加模块
正确遵循引用 postgres_fdw 表的视图上的 WITH CHECK OPTION(Etsuro Fujita)§
虽然 postgres_fdw 表上的 CHECK OPTION 会被忽略(因为引用的是外部表),但此类表上的视图被视为本地视图,因此此更改会对它们实施 CHECK OPTION。以前,只有带有 RETURNING 子句且返回了 CHECK OPTION 值的 INSERT 和 UPDATE 才会得到验证。
附加模块
允许 pg_stat_statements_reset() 提供更细的控制粒度(Haribabu Kommi,Amit Kapila)§
此函数现在允许重置特定数据库、用户和查询的统计信息。
附加模块
允许控制auto_explain的日志级别(Tom Dunstan,Andrew Dunstan)§
默认值为 LOG。
附加模块
允许 unaccent 处理某些以组合字符编码的重音(Hugh Ranalli)§
附加模块
允许 unaccent 移除希腊字符的重音(Tasos Maschalidis)§
试试其他关键词,或。
对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。
条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。
同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。
CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。
交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。