【PGCCC】PostgreSQL 17 发布!

PostgreSQL全球开发小组 9.26日发布PostgreSQL 17,这是世界上最先进的开源数据库的最新版本。

PostgreSQL 17 以数十年的开源开发为基础,在适应新兴数据访问和存储模式的同时,提高了性能和可扩展性。PostgreSQL 的此版本显著提高了整体性能,包括彻底改进的真空内存管理实现、存储访问优化和高并发工作负载改进、批量加载和导出加速以及索引查询执行改进。PostgreSQL 17 具有使全新工作负载和关键系统都受益的功能,例如,增加了使用 SQL/JSONJSON_TABLE命令的开发人员体验,以及增强了逻辑复制,从而简化了高可用性工作负载和主要版本升级的管理。

PostgreSQL 核心团队成员 Jonathan Katz 表示:“PostgreSQL 17 凸显了推动 PostgreSQL 发展的全球开源社区如何构建增强功能,帮助用户在数据库旅程的各个阶段。”“无论是大规模操作数据库的改进,还是建立在令人愉悦的开发人员体验基础上的新功能,PostgreSQL 17 都将增强您的数据管理体验。”

PostgreSQL 是一种创新的数据管理系统,以可靠性、稳健性和可扩展性而闻名,受益于全球开发者社区 25 多年的开源开发,已成为各种规模组织的首选开源关系数据库。

系统范围的性能提升

PostgreSQL真空清理 过程对于正常运行至关重要,需要服务器实例资源才能运行。PostgreSQL 17 引入了一种用于真空清理的新内部内存结构,可减少高达 20 倍的内存消耗。这提高了真空清理速度,还减少了共享资源的使用,从而为您的工作负载提供了更多资源。

PostgreSQL 17 继续改进其 I/O 层的性能。由于预写日志 ( WAL ) 处理的改进,高并发工作负载的写入吞吐量可能提高 2 倍。此外,新的流式 I/O 接口加快了顺序扫描(从表读取所有数据)的速度,并加快了 ANALYZE更新计划器统计信息的速度。

PostgreSQL 17 还将其性能提升扩展到查询执行。PostgreSQL 17IN通过使用 B 树 索引(PostgreSQL 中的默认索引方法)子句提高了查询的性能。此外, BRIN索引现在支持并行构建。PostgreSQL 17 包括多项查询规划改进,包括对NOT NULL约束的优化,以及对处理通用表表达式 (WITH查询)的改进。此版本增加了更多 SIMD(单指令/多数据)支持以加速计算,包括使用 AVX-512 进行 bit_count 函数执行。

进一步扩展强大的开发人员体验

PostgreSQL 是第一个添加 JSON 支持 (2012) 的关系数据库,PostgreSQL 17 增加了对 SQL/JSON 标准的实现。 现在JSON_TABLE 在 PostgreSQL 17 中可用,允许开发人员将 JSON 数据转换为标准 PostgreSQL 表。PostgreSQL 17 现在支持SQL /JSON 构造函数 ( JSON、、) 和 查询函数JSON_SCALAR( 、、),为开发人员提供了与 JSON 数据交互的其他方式。此版本添加了更多 表达式,重点是将 JSON 数据转换为本机 PostgreSQL 数据类型,包括数字、布尔值、字符串和日期/时间类型。JSON_SERIALIZEJSON_EXISTSJSON_QUERYJSON_VALUEjsonpath

PostgreSQL 17 为 添加了更多功能MERGE,用于条件更新,包括子句和更新视图的RETURNING功能。此外,PostgreSQL 17 还具有批量加载和数据导出的新功能,包括使用命令导出大行时性能提高 2 倍。 当源和目标编码匹配时,性能也会得到改进,并包含一个新选项,即使出现插入错误,也允许继续导入。COPYCOPYON_ERROR

此版本扩展了管理分区中的数据和跨远程 PostgreSQL 实例分布的数据的功能。PostgreSQL 17 支持在 分区表上使用标识列和排除约束。用于在远程 PostgreSQL 实例上执行查询的PostgreSQL 外部数据包装器 ( ) 现在可以向远程服务器postgres_fdw推送EXISTS和 子查询,以实现更高效的处理。IN

PostgreSQL 17 还包含一个内置的、独立于平台的、不可变的排序规则提供程序,该提供程序保证是不可变的,并提供与排序规则类似的排序语义,C只是使用UTF-8编码而不是 SQL_ASCII。使用这个新的排序规则提供程序可以保证您的基于文本的查询将返回相同的排序结果,无论您在何处运行 PostgreSQL。

逻辑复制增强功能可实现高可用性和主要版本升级

逻辑复制 用于在许多用例中实时传输数据。但是,在此版本之前,想要执行主要版本升级的用户必须删除逻辑复制槽,这需要在升级后将数据重新同步到订阅者。从 PostgreSQL 17 升级开始,用户不必删除逻辑复制槽,从而简化了使用逻辑复制时的升级过程。

PostgreSQL 17 现在包含逻辑复制的故障转移控制,使其在高可用性环境中部署时更具弹性。此外,PostgreSQL 17 还引入了 pg_createsubscriber 用于将物理副本转换为新逻辑副本的命令行工具。

管理安全和运营的更多选项

PostgreSQL 17 进一步扩展了用户管理数据库系统整体生命周期的方式。PostgreSQL 有一个新的 TLS 选项,sslnegotiation允许用户在使用 ALPN (postgresql在 ALPN 目录中注册为)时执行直接 TLS 握手。PostgreSQL 17 还添加了 pg_maintain 预定义角色,该角色允许用户执行维护操作。

pg_basebackupPostgreSQL 中包含的备份实用程序现在支持增量备份,并添加了pg_combinebackup 用于重建完整备份的实用程序。此外, pg_dump还包含一个名为 的新选项–filter,可让您选择在生成转储文件时要包含的对象。

PostgreSQL 17 还增强了监控和分析功能。 EXPLAIN现在显示本地 I/O 块读写所花费的时间,并包括两个新选项: SERIALIZE和MEMORY,可用于查看网络传输的数据转换所花费的时间以及使用了多少内存。PostgreSQL 17 现在报告清理索引的进度,并添加了pg_wait_events 系统视图,当与结合使用时pg_stat_activity,可以更深入地了解活动会话正在等待的原因。

其他功能

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

关于 PostgreSQL

PostgreSQL是世界上最先进的开源数据库,拥有一个由数千名用户、贡献者、公司和组织组成的全球社区。PostgreSQL 始于加州大学伯克利分校,历经 35 年的工程开发,一直以无与伦比的速度发展。PostgreSQL 成熟的功能集不仅可与顶级专有数据库系统相媲美,而且在高级数据库功能、可扩展性、安全性和稳定性方面也超越了它们。

链接

下载
发行说明
新闻资料包
安全页面
关注@postgresql
#PG证书#PG考试#postgresql初级#postgresql中级#postgresql高级

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/440147.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Kubernetes】常见面试题汇总(五十四)

目录 120.创建 init C 容器后,其状态不正常? 特别说明: 题目 1-68 属于【Kubernetes】的常规概念题,即 “ 汇总(一)~(二十二)” 。 题目 69-113 属于【Kubernetes】的生产…

【Spring Boot 入门一】构建你的第一个Spring Boot应用

一、引言 在当今的软件开发领域,Java一直占据着重要的地位。而Spring Boot作为Spring框架的延伸,为Java开发者提供了一种更加便捷、高效的开发方式。它简化了Spring应用的搭建和配置过程,让开发者能够专注于业务逻辑的实现。无论是构建小型的…

Windows搭建RTMP服务器

这里写自定义目录标题 1 Nginx-RTMP服务器搭建1.1 下载Nginx1.2 下载Nginx的RTMP扩展包1.3 配置Nginx1.4 启动Nginx1.5 查看Nginx状态 2 FFmpeg推流2.1 下载FFmpeg2.2 配置FFmpeg环境变量2.3 验证FFmpeg配置 3 视频推流3.1 OBS推流3.2 FFmpeg推流 4 VLC拉流4.1 VLC4.2 打开网络…

4款专业电脑数据恢复软件,帮你保障数据安全。

电脑里面会出现的数据丢失场景有很多,像硬盘故障、回收站清空、电脑格式化、系统崩溃、病毒入侵等等;如果发现数据丢失后,建议应停止使用电脑,避免新的数据写入覆盖丢失的数据。然后再尝试进行数据找回,如果想自己进行…

合肥企业参访:走进联想合肥智能制造基地参观学习

跟随华研标杆游学高丽华高老师去到联想参观游学 联想合肥智能制造基地成立于2011年,是联想集团全球蕞大的PC研发和制造基地,也是智能制造示范基地。基地占地约500亩,拥有全球PC制造业蕞大的单体厂房以及业界主板、整机生产线。在这里&#xf…

RTSP作为客户端 推流 拉流的过程分析

之前写过一个 rtsp server 作为服务端的简单demo 这次分析下 rtsp作为客户端 推流和拉流时候的过 A.作为客户端拉流 TCP方式 1.Client发送OPTIONS方法 Server回应告诉支持的方法 2.Client发送DESCRIPE方法 这里是从海康摄像机拉流并且设置了用户名密码 Server回复未认证 3.客…

数据结构-3.5.队列的顺序实现

一.队列的顺序实现&#xff0c;初始化操作以及判断队列是否为空&#xff1a; 1.图解&#xff1a; 2.代码&#xff1a; #include<stdio.h> #define MaxSize 10 //定义一个队列最多存储的元素个数 ​ typedef struct {int data[MaxSize]; //用静态数组存放队列元素int f…

使用Buildpacks构建Docker镜像

## 使用Buildpacks构建Docker镜像 ![](../assets/运维手册-Buildpacks-Buildpacks.io.png) ### Buildpacks简介 与Dockerfile相比&#xff0c;Buildpacks为构建应用程序提供了更高层次的抽象。具体来说&#xff0c;Buildpacks&#xff1a; * 提供一个平衡的控制&#xff0c;…

emp.dll丢失损坏怎么办,总结6个解决emp.dll丢失的方法

我们在用电脑的时候&#xff0c;经常会碰到各种各样的问题&#xff0c;其中一个就是emp.dll丢失或缺失。这个东东可是Windows操作系统中非常重要的一个动态链接库文件哦&#xff0c;它是负责管理一些重要系统功能的。假如这个文件丢了&#xff0c;很可能会导致程序无法正常运行…

小程序图片资源等使用阿里服务链接更新问题

同名更换图片&#xff0c;小程序无需发版本更新&#xff0c;存在图片缓存问题解决方法 修改Cache-Control参数即可

深度解析:Python蓝桥杯青少组精英赛道与高端题型概览

目录 一、蓝桥杯青少组简介二、赛项组别与年龄范围三、比赛内容与题型1. 基础知识范围2. 题型设置2.1 选择题2.2 编程题 3. 考试时长 四、奖项设置与激励措施五、总结 一、蓝桥杯青少组简介 蓝桥杯全国软件和信息技术专业人才大赛&#xff08;简称“蓝桥杯”&#xff09;是由工…

【Qt+Python项目构建】- 01-首次配置 Qt Creator 14.01 for Python

前言&#xff1a; 如何用QT实现Python的配置的交互界面。本文从0开始&#xff0c;进行实践的介绍。 在上一节里面&#xff0c;我们做了社区版本的配置&#xff1a; https://blog.csdn.net/yellow_hill/article/details/142597007?spm1001.2014.3001.5501 这一节&#xff0…

【C++11】新特性

前言&#xff1a; C11 是C编程语言的一个重要版本&#xff0c;于2011年发布。它带来了数量可观的变化&#xff0c;包含约 140 个新特性&#xff0c;以及对 C03 标准中约600个缺陷的修正&#xff0c;更像是从 C98/03 中孕育出的新语言 列表初始化 C11 中的列表初始化&#xff0…

探索Kimi:用Spring Boot + Vue打造现代网站

在数字化时代&#xff0c;网站成为了企业和个人展示自己的窗口。今天&#xff0c;我将带你一起探索如何利用Spring Boot和Vue.js这两个强大的技术栈&#xff0c;结合Kimi的智能助手功能&#xff0c;来构建一个现代的网站。这不仅是一个技术分享&#xff0c;更是一次实战演示&am…

ubuntu22.04桌面美化

文章目录 原桌面自动隐藏任务栏图标居中去除桌面上的Home文件夹去除硬盘图标和垃圾箱图标壁纸网站 原桌面 自动隐藏任务栏图标居中 效果&#xff1a; 去除桌面上的Home文件夹 去除硬盘图标和垃圾箱图标 壁纸网站 https://hdqwalls.com/wallpaper/3840x2160/cherry-blossom-p…

【C++】二叉搜索树+变身 = AVL树

&#x1f680;个人主页&#xff1a;小羊 &#x1f680;所属专栏&#xff1a;C 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 前言一、AVL树二、AVL树的实现2.1 平衡因子2.2 旋转处理2.2.1 左单旋&#xff1a;插入新节点后单纯的右边高2.2.2 …

MySQL--聚合查询、联合查询、子查询、合并查询(上万字超详解!!!)

目录 一、前言二、聚合查询2.1 聚合函数2.1.1 COUNT():统计所有行2.1.2 SUM(列名) 求和2.1.3 AVG()2.1.4 MAX()、MIN() 2.2 GROUP BY子句&#xff08;分组查询&#xff09;2.3 HAVING 三、联合查询3.1表的笛卡儿积3.2内连接3.2.1 例题一3.2.2 例题二 3.3外连接3.3.1 右外连接3.…

使用 Python 遍历文件夹

要解决这个问题&#xff0c;使用 Python 的标准库可以很好地完成。我们要做的是遍历目录树&#xff0c;找到所有的 text 文件&#xff0c;读取内容&#xff0c;处理空行和空格&#xff0c;并将处理后的内容合并到一个新的文件中。 整体思路&#xff1a; 遍历子目录&#xff1…

ConcurrentHashMap在JDK1.7和1.8的区别,详解

目录 1.了解HashMap底层插入原理 2.ConcurrentHashMap 是什么&#xff1f; HashTable的实现 3.ConcurrentHashMap 1.7和1.8的区别 4、JDK1.7 中的ConcurrentHashMap实现原理 6、JDK1.8中的ConcurrentHashMap 7.链表转红黑树条件 1.8 put方法 8.并发扩容 9.总结 首先呢…

Vite多环境配置与打包:

环境变量必须以VITE开头 1.VITE_BASE_API&#xff1a; 在开发环境中设置为 /dev-api&#xff0c;这是一个本地 mock 地址&#xff0c;通常用于模拟后端接口。 2.VITE_ENABLE_ERUDA&#xff1a; 设置为 "true"&#xff0c;表示启用调试工具&#xff0c;通常是为了…