暂无图片
暂无图片
8
暂无图片
暂无图片
暂无图片

PostgreSQL 15 Beta 1 正式发布!引入MERGE,增强正则、JSON支持

原创 章芋文 2022-05-19
2149

PostgreSQL 全球开发组宣布 PostgreSQL 15 的第一个 beta 版本现已可供下载。此版本包含 PostgreSQL 15 正式可用时将提供的所有功能的预览,但该版本的某些细节可能会在最终正式版发布时发生变化。

PostgreSQL 15 中的一些功能亮点

开发者体验提升

PostgreSQL 15 添加了用于简化和增强开发人员体验的新功能。

PostgreSQL 15 引入MERGE命令,用于有条件地对数据执行写操作(INSERT,UPDATE或DELETE)。在此版本之前,可以使用存储过程或在有限的基础上使用 INSERT … ON CONFLICT. 使用 PostgreSQL 15,开发人员可以编写简单、富有表现力的查询来选择要采取的适当数据修改的操作。

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

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

性能表现提升

PostgreSQL 15 在过去几个版本上有性能提升。此版本包括对较大数据集进行排序时显着加速。特别是,这些数据集是超过work_mem参数。

PostgreSQL 15 的性能提升扩展到各种查询类型。这包括为 SELECT DISTINCT 语句引入并行以改进在使用row_number()rank()count()窗口函数的性能。PostgreSQL使用postgres_fdw 来管理远程 PostgreSQL 服务器上的数据的应用程序现在可以启用并行提交事务。对于涉及带有分区表的查询,有性能增强

用于存储大于单页 (8kB) 数据的 PostgreSQL 系统和TOAST表,现在可以利用更小的索引和更快的查找来删除重复数据。

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

备份、存档和压缩

在引入 LZ4 压缩的先前版本基础上,PostgreSQL 15 为各种组件添加了对 Zstandard (zstd) 压缩的支持

pg_basebackup,现在支持使用 Gzip、LZ4 或 Zstandard 压缩的服务器端压缩。pg_basebackup客户端现在还可以解压缩使用 LZ4 和 Zstandard 压缩的备份。

wal_compression 现在可以通过配置参数使用 LZ4 和 Zstandard 压缩来压缩预写日志 (WAL) 文件 。此外,PostgreSQL 15 还添加了 recovery_prefetch 可以通过预取数据块来帮助加快恢复操作的选项。此版本添加了一个名为 pg_walinspect 的新模块,可让您直接通过 SQL 检查有关 WAL 文件的信息。

PostgreSQL 15 允许您通过指定archive_library参数来归档,不需要运行shell脚本. 可以在 basic_archive模式中找到一个 WAL 归档库。此外,现在可以定义自己的 WAL 资源管理器,让它们使用逻辑复制。

逻辑复制

PostgreSQL 15 为逻辑复制引入了 行过滤和 列过滤 。此外,用户现在可以方便地指定发布某个schema中的所有表,而以前只能对数据库中的所有表执行此操作。

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

管理

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

客户端现在psql有一个命令\dconfig用于检查配置参数的值。默认情况下,\dconfig显示非默认值的配置参数。

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

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

安全

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

PostgreSQL 15 增加了对“security invoker views”的支持,让非创建视图的用户拥有查询视图的权限。

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

附加的功能

PostgreSQL 15 中添加了许多其他新功能和改进。其中许多也可能对您的用例有所帮助。有关新功能和更改功能的完整列表,请参阅发行说明:

https://www.postgresql.org/docs/15/release-15.html

下载地址

https://www.postgresql.org/ftp/source/v15beta1/

- - -
postgresql-15beta1.tar.bz2 2022-05-16 21:15:02 22.4 MB
postgresql-15beta1.tar.bz2.md5 2022-05-16 21:15:02 61 bytes
postgresql-15beta1.tar.bz2.sha256 2022-05-16 21:15:02 93 bytes
postgresql-15beta1.tar.gz 2022-05-16 21:15:02 29.3 MB
postgresql-15beta1.tar.gz.md5 2022-05-16 21:15:02 60 bytes
postgresql-15beta1.tar.gz.sha256 2022-05-16 21:15:02 92 bytes
最后修改时间:2022-05-20 08:14:10
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论