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

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/196739/postgresql-15-beta-1-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。