[大象快讯]:PostgreSQL 17 重磅发布!
家人们,数据库界的大新闻来了!📣
PostgreSQL 17 正式发布,全球开发者社区的心血结晶,带来了一系列令人兴奋的新特性和性能提升。
发版通告全文如下
PostgreSQL 全球开发小组今天(2024-09-26)宣布发布 PostgreSQL 17,这是世界上最先进的开源数据库的最新版本。
PostgreSQL 17 以数十年的开源开发为基础,在适应新兴数据访问和存储模式的同时,提高了性能和可扩展性。PostgreSQL 的此版本显著提高了整体性能,包括彻底改进的真空内存管理实现、存储访问优化和高并发工作负载改进、批量加载和导出加速以及索引查询执行改进。PostgreSQL 17 具有使全新工作负载和关键系统都受益的功能,例如,增加了使用 SQL/JSON JSON_TABLE
命令的开发人员体验,增强了逻辑复制,从而简化了高可用性工作负载和主要版本升级的管理。
PostgreSQL 核心团队成员 Jonathan Katz 表示:“PostgreSQL 17 凸显了推动 PostgreSQL 发展的全球开源社区如何构建增强功能,帮助用户在数据库旅程的各个阶段。”“无论是大规模操作数据库的改进,还是建立在令人愉悦的开发人员体验基础上的新功能,PostgreSQL 17 都将增强您的数据管理体验。”
PostgreSQL 是一种创新的数据管理系统,以可靠性、稳健性和可扩展性而闻名,受益于全球开发者社区 25 多年的开源开发,已成为各种规模组织的首选开源关系数据库。
全系统性能提升
PostgreSQL 的 VACUUM 过程对于正常运行至关重要,需要服务器实例资源才能运行。PostgreSQL 17 引入了一种新的 Vacuum 内部内存结构,可将内存消耗减少 20 倍。这提高了 Vacuum 速度并减少了共享资源的使用,从而为您的工作负载提供更多可用资源。
PostgreSQL 17 继续改进其 I/O 层的性能。由于预写日志( WAL ) 处理的改进,高并发工作负载的写入吞吐量可能提高 2 倍。此外,新的流式 I/O 接口加快了顺序扫描(从表读取所有数据)的速度,并加快了 ANALYZE
更新计划器统计信息的速度。
PostgreSQL 17 还将其性能提升延伸到查询执行。PostgreSQL 17 提高了使用 B 树索引(PostgreSQL 中的默认索引方法)的 IN
子句查询的性能。此外,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_SERIALIZE ) 和查询函数 ( JSON_EXISTS, JSON_QUERY, JSON_VALUE ),为开发人员提供了与 JSON 数据交互的其他方式。此版本增加了更多 jsonpath 表达式,重点将 JSON 数据转换为原生 PostgreSQL 数据类型,包括数字、布尔、字符串和日期/时间类型。
PostgreSQL 17 为 MERGE
添加了更多功能,用于条件更新,包括 RETURNING子句和更新视图的能力。此外,PostgreSQL 17 还具有批量加载和数据导出的新功能,包括使用
COPY命令导出大行时的性能提升高达 2 倍。当源和目标编码匹配时,COPY 性能也会得到改进,并且包含一个新选项
ON_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(在 ALPN 目录中注册为 postgresql
)时执行直接 TLS 握手。PostgreSQL 17 还添加了 pg_maintain
预定义角色,该角色允许用户执行维护操作。
PostgreSQL 中包含的备份实用程序 pg_basebackup
现在支持增量备份,并添加了 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 17 Beta 1 发布! -
PG 12 即将退役,建议升级到 16.4 -
Rocky Linux 9.4 搭载 PG 16.1 -
后 EL 7 时代,PG 16 如何在 CentOS 7 上运行
本文由 mdnice 多平台发布
相关文章:
[大象快讯]:PostgreSQL 17 重磅发布!
家人们,数据库界的大新闻来了!📣 PostgreSQL 17 正式发布,全球开发者社区的心血结晶,带来了一系列令人兴奋的新特性和性能提升。 发版通告全文如下 PostgreSQL 全球开发小组今天(2024-09-26)宣布…...
CHI trans--Home节点发起的操作
总目录: CHI协议简读汇总-CSDN博客https://blog.csdn.net/zhangshangjie1/article/details/131877216 Home节点能够发起的操作,包含如下几类: Home to Subordinate Read transactionsHome to Subordinate Write transactionsHome to Subor…...
Rust和Go谁会更胜一筹
在国内,我认为Go语言会成为未来的主流,因为国内程序员号称码农,比较适合搬砖,而Rust对心智要求太高了,不适合搬砖。 就个人经验来看,Go语言简单,下限低,没有什么心智成本,…...
记HttpURLConnection下载图片
目录 一、示例代码1 二、示例代码2 一、示例代码1 import java.io.*; import java.net.HttpURLConnection; import java.net.URL;public class Test {/*** 下载图片*/public void getNetImg() {InputStream inStream null;FileOutputStream fOutStream null;try {// URL 统…...
物联网实训室建设的必要性
物联网实训室建设的必要性 一、物联网发展的背景 物联网(IoT)是指通过信息传感设备,按照约定的协议,将任何物品与互联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络…...
初识C语言(四)
目录 前言 十一、常见关键字(补充) (1)register —寄存器 (2)typedef类型重命名 (3)static静态的 1、修饰局部变量 2、修饰全局变量 3、修饰函数 十二、#define定义常量和宏…...
产品架构图:从概念到实践
在当今快速发展的科技时代,产品架构图已成为产品经理和设计师不可或缺的工具。它不仅帮助我们理解复杂的产品体系,还能指导我们进行有效的产品设计和开发。本文将深入探讨产品架构图的概念、重要性以及绘制方法。 整个内容框架分为三个部分,…...
smartctl 命令:查看硬盘健康状态
一、命令简介 smartctl 命令用于获取硬盘的 SMART 信息。 介绍硬盘SMART 硬盘的 SMART (Self-Monitoring, Analysis, and Reporting Technology) 技术用于监控硬盘的健康状态,并能提供一些潜在故障的预警信息。通过查看 SMART 数据,用户可以了解硬…...
BBR 为什么没有替代 CUBIC 成为 Linux 内核缺省算法
自 2017 年底 bbr 发布以来,随着媒体的宣讲,各大站点陆续部署 bbr,很多网友不禁问,bbr 这么好,为什么不替代 cubic 成为 linux 的缺省算法。仅仅因为它尚未标准化?这么好的算法又为什么没被标准化ÿ…...
Git忽略规则原理和.gitignore文件不生效的原因和解决办法
在使用Git进行版本控制时,.gitignore文件扮演着至关重要的角色。它允许我们指定哪些文件或目录应该被Git忽略,从而避免将不必要的文件(如日志文件、编译产物等)纳入版本控制中。然而,在实际使用过程中,有时…...
MySQL-数据库设计
1.范式 数据库的范式是⼀组规则。在设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数 据库,这些不同的规范要求被称为不同的范式。 关系数据库有六种范式:第⼀范式(1NF)、第⼆范式(…...
Unity开发绘画板——04.笔刷大小调节
笔刷大小调节 上面的代码中其实我们已经提供了笔刷大小的字段,即brushSize,现在只需要将该字段和界面中的Slider绑定即可,Slider值的范围我们设置为1~20 代码中只需要做如下改动: public Slider brushSizeSlider; //控制笔刷大…...
./mnt/container_run_medium.sh
#!/bin/bash# 清理旧的日志文件 rm -f *.log rm -f nohup.out rm -f cssd.dat# 启动 pwbox_simu 和 MediumBoxBase nohup /mnt/simutools/pwbox_simu /mnt/simutools/pw_box.conf > /dev/null 2>&1 & nohup /mnt/mediumSimu/MediumBoxBase /mnt/mediumSimu/hynn_…...
数学建模研赛总结
目录 前言进度问题四分析问题五分析数模论文经验分享总结 前言 本文为博主数学建模比赛第五天的内容记录,希望所写的一些内容能够对大家有所帮助,不足之处欢迎大家批评指正🤝🤝🤝 进度 今天已经是最后一天了…...
通信工程学习:什么是TCF技术控制设施
TCF(Technical Control Facility):技术控制设施 首先,需要明确的是,通信工程是一门涉及电子科学与技术、信息与通信工程和光学工程学科领域的基础理论、工程设计及系统实现技术的学科。它主要关注通信过程中的信息传输…...
stm32 bootloader跳转程序设计
文章目录 1、bootloader跳转程序设计(1)跳转程序(2)、app程序中需要注意<1>、在keil中ROM起始地址和分配的空间大小<2>、在system_stm32f4xx.c中设置VECT_TAB_OFFSET为需要偏移的地址<3>、main函数中使能中断 总…...
科技赋能环保:静电与光解技术在油烟净化中的卓越应用
我最近分析了餐饮市场的油烟净化器等产品报告,解决了餐饮业厨房油腻的难题,更加方便了在餐饮业和商业场所有需求的小伙伴们。 随着环保政策的不断升级,餐饮行业的油烟治理成为重要课题。油烟净化器的技术革新不仅提升了净化效率,…...
FCA-FineBI试卷答案
1、【判断题】FineBI数据加工建模中只支持文本、数值、日期三种数据类型。 正确答案:A A. 正确 B. 错误 2、【判断题】Excel 支持批量导入,可以一次导入多个 sheet 或 Excel? 正确答案:A A.正确 B. 错误 3、【判断题】FineBI V6.…...
Spring - @Import注解
文章目录 基本用法源码分析ConfigurationClassPostProcessorConfigurationClass SourceClassgetImportsprocessImports处理 ImportSelectorImportSelector 接口DeferredImportSelector 处理 ImportBeanDefinitionRegistrarImportBeanDefinitionRegistrar 接口 处理Configuratio…...
新能源汽车储充机器人:能源高效与智能调度
新能源汽车储充机器人:开启能源高效利用与智能调度的未来之门 随着全球能源危机的日益加剧和环境污染问题的不断恶化,新能源汽车成为了未来交通领域的重要发展方向。然而,新能源汽车的普及不仅需要解决电池技术的瓶颈,还需要构建一…...
【Linux网络】详解TCP协议(2)
🎉博主首页: 有趣的中国人 🎉专栏首页: Linux网络 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好,本片文章将会讲解 TCP协议的三次握手和四次挥手 的相关内容。 如果看到最后您觉得…...
STM32DMA学习日记
STM32 DMA学习日记 写于2024/9/28晚 文章目录 STM32 DMA学习日记1. DMA简介2. I/O方式2.1 程序查询方式2.2 程序中断方式2.3 DMA方式 3.DMA框图4. 相关寄存器4.1 DMA中断状态寄存器(DMA_ISR)4.2 DMA中断标志清除寄存器(DMA_IFCR)…...
【高性能内存池】page cache 5
page cache 1 page cache的框架2 central cache从page cache申请n页span的过程3 page cache 的结构3.1 page cache类框架3.2 central cache向page cache申请span3.3 获取k页的span page cache的结构和central cache是一样的,都是哈希桶的结构,并且挂载的…...
Vue 3 魔法揭秘:CSS 解析与 scoped 背后的奇幻之旅
文章目录 一、背景二、源码分析transformMain 返回值transformStyle 方法compileStyleAsync 方法scopedPlugin 方法template 添加 __scopeId 三、总结 一、背景 Vue 3 文件编译流程详解与 Babel 的使用 上文分析了 vue3 的编译过程,但是在对其中样式的解析遗留了一…...
如何获取钉钉webhook
第一步打开钉钉并登录 第二步创建团队 并且 添加自定义 机器人 即可获取webhook...
网页WebRTC电话和软电话哪个好用?
关于WebRTC电话与软件电话哪个更好用,这实际上取决于多个因素,并没有一个绝对的答案。不过,我可以根据WebRTC技术的一些特点,以及与传统软件电话相比的优劣势,为你提供一个清晰的对比。 首先,让我们了解一下…...
MySQL Mail服务器集成:如何配置发送邮件?
MySQL Mail插件使用指南?怎么优化 MySQL发邮件性能? MySQL Mail服务器的集成,使得数据库可以直接触发邮件发送,极大地简化了应用架构。AokSend将详细介绍如何配置MySQL Mail服务器,以实现邮件发送功能。 MySQL Mail&…...
【Rockchip系列】官方函数:imcopy
imcopy 函数原型 IM_STATUS imcopy(const rga_buffer_t src,rga_buffer_t dst,int sync 1,int *release_fence_fd NULL);功能说明 imcopy函数用于执行单次快速图像拷贝操作,将图像从源缓冲区拷贝到目标缓冲区。 参数说明 参数描述src[必填] 源图像缓冲区&…...
Matlab实现鲸鱼优化算法优化回声状态网络模型 (WOA-ESN)(附源码)
目录 1.内容介绍 2部分代码 3.实验结果 4.内容获取 1内容介绍 鲸鱼优化算法(Whale Optimization Algorithm, WOA)是一种基于座头鲸捕食行为的群智能优化算法。该算法通过模仿座头鲸使用螺旋形路径和包围猎物的策略来探索和开发解空间,以找到…...
迈威通信闪耀工博会,以创新科技赋能工业自动化
昨日,在圆满落幕的第24届中国国际工业博览会上,迈威通信作为工业自动化与智慧化领域的先行者,以“创新打造新质通信,赋能工业数字化”为主题精彩亮相,向全球业界展示了我们在工业自动化领域的最新成果与创新技术。此次…...
wordpress分页目录编辑/互动营销名词解释
首先, equality 等同, identity 恒等。, 两边值类型不同的时候,要先进行类型转换,再比较。,不做类型转换,类型不同的一定不等。下面分别说明:先说 ,这个比较简单。下面的…...
西宁网站建设公司/阿里seo排名优化软件
本文章为离散知识的整理,如有错误,请提出! Beta分布,beta(a,b): 这里记住:a>b,图像往右倾,高概率取得较大值;a<b,图像往左倾,高概率取得较低值。 可应用场景(二分…...
wordpress是怎么用的/360广告推广平台
最近刚开始学dwr,发现使用起来确实方便多了。现在公司正好有需求要使用文件上传,所以就研究了一下dwr3的文件上传和下载。上传很方便,但是要显示进度条,我没找到相关的接口,我觉得dwr3应该会提供一个方便的接口用来显示…...
wordpress安装伪静态/万能浏览器
Aster(A*)算法 Aster算法是在Dijkstra算法基础上发展出来的,是在静态路径中用于求解最优路径有效的直接搜索算法,比dijkstra算法多了一个启发式的搜索函数,也就是通过一个代价函数来确定搜索方向(从起点开…...
wordpress怎么加统计代码/seo综合查询是什么意思
EDUSOHO踩坑笔记之二十四:缓存Redis Reids 即可当做数据库使用,也可当做缓存使用。启用 Redis 服务,需安装PHPRedis 扩展。框架集成了 Redis 服务,可通过以下方式启用: $biz->register(new Biz\Frameowrk\Provider…...
wordpress 浮层/安卓手机优化大师官方下载
传送门 神仙题啊……不看题解我可能一年都不一定做得出来……FlashHu大佬太强啦 到底是得有怎样的脑回路才能一眼看去就是费用流啊…… 建好图之后套个板子就好了,那么我们着重来讨论一下怎么建图 首先,对于每一个水管的支管,有且仅有一个其他…...