PostgreSQL 15 Beta 1 发布


PostgreSQL 15 的第一个 beta 版本现已可供下载。公告指出,此版本包含 PostgreSQL 15 普遍可用时将提供的所有功能的预览,但该版本的某些细节可能会在测试期间发生变化。

本着开源 PostgreSQL 社区的精神,官方建议用户在系统上测试 PostgreSQL 15 的新功能,以帮助消除可能存在的错误或其他问题。虽然不建议用户在生产环境中运行 PostgreSQL 15 Beta 1,但其鼓励用户找到针对此 Beta 版本运行典型应用程序工作负载的方法。您的测试和反馈将帮助社区确保 PostgreSQL 15 版本符合我们提供世界上最先进的开源关系数据库的稳定、可靠版本的标准”。详情可查看此处。

PostgreSQL 15 功能亮点

开发者体验

PostgreSQL 15 添加了用于简化和增强开发人员体验的新功能。此版本引入了MERGE,这是一个 SQL 标准命令,用于有条件地对数据执行写操作(INSERTUPDATEDELETE)。在此版本之前,同样的行为可以使用存储过程或在有限的基础上使用 INSERT ... ON CONFLICT来完成。“使用 PostgreSQL 15,开发人员可以编写简单、富有表现力的查询来选择要采取的适当数据修改操作。”

作为 9.2 版本的一部分,PostgreSQL 在 2012 年曾增加了对 JSON 的支持。五年后发布的 SQL/JSON 标准指定了用于访问和操作存储在关系数据库中的 JSON 数据的各种接口。PostgreSQL 15 在其现有的对 SQL/JSON 路径语言的支持的基础上,加入了更多标准的 SQL/JSON 函数。其中包括 SQL/JSON 构造函数、查询/自省函数,以及将 JSON 数据转换成 table 的能力。

PostgreSQL 15 增加了更多的正则表达式函数,包括regexp_countregexp_instrregexp_like, 和regexp_substrrange_agg 函数在 PostgreSQL 15 中引入,用于将 range数据类型聚合为multirange类型,现在也支持聚合multirange类型。

Performance

PostgreSQL 15 包括对较大数据集进行排序时对数据进行排序的显着加速,特别是超过work_mem参数的数据集。

PostgreSQL 15 的性能提升还扩展到了各种查询类型。包括为SELECT DISTINCT语句引入并行化,以及对使用 row_number()、rank() 和 count() 的 window functions 的性能改进。使用 PostgreSQL 外部数据包装器postgres_fdw来管理远程 PostgreSQL 服务器上的数据的应用程序,现在可以使 transactions 以并行方式提交。对于涉及带有分区的表的查询,也一些性能增强。

用于存储大于单页 (8kB) 的数据的 PostgreSQL 系统和 TOAST tables 现在可以利用利用重复索引,并从更小的索引和更快的查找中获益。

用于批量加载数据的 psql copy 命令在 PostgreSQL 15 中也有性能改进。

Backups、Archiving 和 Compression

PostgreSQL 15 为各种组件增加了对 Zstandard(zstd)压缩的支持。pg_basebackup,一个用于对 PostgreSQL 集群进行完整备份的实用程序,现在支持使用 Gzip、LZ4 或 Zstandard 压缩的服务器端压缩。pg_basebackup客户端现在还可以解压缩使用 LZ4 和 Zstandard 压缩的备份。

Write-ahead log (WAL) 文件现在可以通过wal_compression配置参数使用 LZ4 和 Zstandard 压缩法进行压缩。此外,PostgreSQL 15 还添加了recovery_prefetch选项,可以通过预取数据块来帮助加快恢复操作。此版本添加了一个叫做pg_walinspect的新模块,让你可以直接从 SQL 检查有关 WAL 文件的信息。

PostgreSQL 15 允许你通过指定一个archive_library来执行 WAL 归档,而不需要运行 shell 命令。可以在basic_archive模块中找到示例 WAL 归档库。此外,扩展现在可以定义自己的 WAL 资源管理器,让他们与逻辑复制一起使用。

Logical Replication

PostgreSQL 15 为逻辑复制引入了 row filtering 和 column filtering 。此外,用户现在可以方便地指定发布模式中的所有 tables,而以前只能对数据库中的所有 tables 执行此操作。

此版本还增加了对处理冲突的更多支持。用户现在可以指定disable_on_error,以便在发生错误时自动停止逻辑复制。PostgreSQL 15 可以使用 ALTER SUBSCRIPTION ... SKIP 命令跳过 applying changes。

Administration

PostgreSQL 15 引入了 jsonlog日志格式。这允许 PostgreSQL 日志被许多执行结构化日志聚合和分析的程序使用。PostgreSQL 15 现在默认记录缓慢的 checkpoints 和 autovacuum operations。

psql客户端现在有一个dconfig命令,用于检查配置参数的值。默认情况下,dconfig显示任何未设置为其默认值的配置参数。

PostgreSQL 15 现在将所有服务器级别的统计信息存储在共享内存中。服务器不再运行 statistics collector process。

ALTER TABLE 命令现在可以修改 table 的ACCESS METHOD,用于设置 table 使用的存储系统。

Security

PostgreSQL 15 在 PostgreSQL 集群中创建数据库时引入了新的默认值。创建新数据库时,数据库所有者之外的用户(由pg_database_owner表示)和超级用户不能再在默认public模式中创建对象。

PostgreSQL 15 增加了对“security invoker views”的支持,它使用执行查询的用户而不是创建视图的用户的权限。

PostgreSQL 15 中的非特权用户现在可以通过SETALTER SYSTEM被授予更改服务器变量的特权。

有关新功能和更改功能的完整列表可查看 release notes


相關推薦

2022-08-16

PostgreSQL 全球开发组针对当前所有被支持版本发布了一次更新,版本包括:14.5、13.8、12.12、11.17 和 10.22,以及 PostgreSQL 15 的第三个 beta 版本。此版本关闭了一个安全漏洞并修复了过去三个月报告的 40 多个错误。 PostgreSQL 10 EOL Upc

2023-08-12

PostgreSQL 全球开发组针对当前所有被支持版本发布了一次更新,版本包括:15.4、14.9、13.12、12.16 和 11.21,以及 PostgreSQL 16 的第三个测试版。此版本修复了两个安全漏洞并修复了过去几个月报告的 40 多个 bug。 如果你使用 BRIN&

2023-06-11

用 Pigsty 部署 PG 15.3 , 14.8, 13.11, 12.15, 与 16 beta1。v2.1 针对 PostgreSQL 16 进行了适配,改进了监控系统效果,添加了一系列便利命令工具,建议按需升级。 具体更新内容包括: Highlight PostgreSQL 16 beta 支持,以及 12 ~ 15 支持。 添

2022-10-11

PostgreSQL 15 的第二个候选版本现已可供下载。公告指出,尽管在 PostgreSQL 15 全面可用之前可能会应用更多修复;但作为候选版本,PostgreSQL 15 RC 2 将与 PostgreSQL 15 的初始版本基本相同。 PostgreSQL 15 的一般可用性计划日期仍然是 2022

2023-07-02

PostgreSQL 16 的第二个测试版现已可供下载。此版本包含 PostgreSQL 16 的所有功能预览,但 beta 版本的某些细节可能会在测试期间发生变化。 自 Beta 1 以来的变化 PostgreSQL 16 Beta 2 中的修复和更改包括: initdb选择的默认 collation pro

2023-01-30

码基于go语言,使用gin作为web框架。目前支持MariaDB,MySQL,PostgreSQL和Oracle四种数据库。支持生成Vue和ElementUI的基于Node.js的独立前端。支持Excel,PDF两种数据导出格式。 开发测试环境 jdk 17 Apache Tomcat 9 Node.js 14 golang 1.19 MariaDB 15

2023-08-23

布,此版本进一步完善了监控系统、应用生态、并跟进 PostgreSQL 例行的小版本更新(CVE修复)。 Pigsty v2.3 跟随 PostgreSQL 主干小版本进行更新,包括 15.4, 14.9, 13.12, 12.16 以及 16.beta3,此更新修复了一个 CVE 安全漏洞。此外高可用管

2023-07-04

码基于go语言,使用gin作为web框架。目前支持MariaDB,MySQL,PostgreSQL和Oracle四种数据库。支持生成Vue和ElementUI的基于Node.js的独立前端。支持Excel,PDF两种数据导出格式。 开发测试环境 jdk 17 Apache Tomcat 9 Node.js 14 golang 1.19 MariaDB

2023-09-16

多元共进|2023 Google 开发者大会精彩演讲回顾 Pigsty 在 PostgreSQL 16 发布后跟进了全新版本 Pigsty v2.4,提供了对 PostgreSQL 16 正式版的完整支持。此外在 v2.4 中,还对监控已有PG实例,特别是 RDS for PostgreSQL 与 PolarDB 提供了额外的支

2023-05-14

PostgreSQL 全球开发组针对当前所有被支持版本发布了一次更新,版本包括:15.3、14.8、13.11、12.15 和 11.20。此版本修复了两个安全漏洞并修复了过去几个月报告的 80 多个 bug。 CVE-2023-2454:CREATE SCHEMA ... schema_element破坏保护性 se

2022-06-21

Pigsty v1.5.1 现已发布,具体更新内容如下: 内核 在PostgreSQL 14.0 至 14.3 中,出现了一个BUG。当你使用​​​​ CREATE INDEX CONCURRENTLY | REINDEX CONCURRENTLY 在线重建索引时,有可能会导致静默的 索引数据腐坏。 在 2022.06.16日,Pos

2022-08-14

墨干编辑器 v1.1.0-beta3 已经发布,基于 GNU TeXmacs 的结构化编辑器。 仅推荐资深用户试用。本次发布主要修复了大量参考文献相关的错误。 马上下载 点我下载 系统 MD5校验 点我 Windows 64位 a284a3f52c15b2a3c117241

2024-07-06

个开源数据库,旨在使 SQL 可扩展到时间序列数据,基于 PostgreSQL 构建的,并打包为 PostgreSQL 扩展程序,提供跨时间和空间的自动分区,以及完整的 SQL 支持。 TimescaleDB 2.15.3 现已发布,此版本包含自 2.15.2 版本以来的错误修复。

2022-11-12

PostgreSQL 全球开发组针对当前所有被支持版本发布了一次更新,版本包括:15.1、14.6、13.9、12.13、11.18 和 10.23。这是 PostgreSQL 10 系列的最终版本,之后 PostgreSQL 10 将不再接受安全和错误修复。如果你正在生产环境中运行 PostgreSQL 10