PostgreSQL 17 发布了!非常稳定的版本

📢📢📢📣📣📣
作者:IT邦德
中国DBA联盟(ACDU)成员,10余年DBA工作经验,
Oracle、PostgreSQL ACE
CSDN博客专家及B站知名UP主,全网粉丝10万+
擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复,
安装迁移,性能优化、故障应急处理

PostgreSQL 17已与2024年9月26日正式发布了,如约而至, 每年1个大版本, 每个大版本都是LTS版,那么让我们一起来看下这次到底做了哪些更新!

1.版本迭代

PostgreSQL 全球开发组计划每年发布一个包含新功能的主要版本(major version)。同时,对于每个主要版本,至少每 1个季度会发布一个次要版本(minor release),用于修复问题和安全漏洞。

对于主要版本,PostgreSQL 全球开发组将会提供5年的更新支持,然后在发布一个最终次要版本之后停止提供支持。

2.新增特性

块级别增量备份与恢复:极大提高了备份大型数据库的效率,减少了全拷贝的需求。

逻辑复制 Failover 和 Switchover:增强了逻辑复制功能,支持在流复制基础上的故障切换,提高了高可用性。

Copy 错误处理:改进了 Copy 命令的错误处理机制,支持跳过错误行,同时记录错误行

JSON 类型处理能力增强:主要增强了 JSONPath 功能,使得处理 JSON 数据更为顺手

Vacuum 性能改进:引入了 TIDStore 数据结构,突破了存储 Dead Tuple 的内存限制,大幅提升了 Vacuum 效率

索引性能优化:支持并行创建 Brin 索引,GIST/SP-GIST 索引支持增量排序,BTree 倒序增强等。

高并发锁竞争优化:通过一系列 WAL 锁优化,提升了高并发写入性能

性能优化:包括批量导入性能提升、Merge Append 提升 Union 性能、增量排序提升 Group By 性能、减少分区表 Partitionwise Join 内存消耗等。

新增 GUC 参数:新增了一系列的 GUC 参数,提升数据库管理灵活性

SQL 语法、函数功能增强:包括分区表分裂与合并、Merge 语法、生成列、Exclude 约束等功能增强。

管理手段增强:支持 Login 事件、新增维护角色、读写分离一致性函数支持等。

内部统计信息、系统视图增强:新增等待事件视图、增强检查点统计信息、增强并行操作统计信息等。

Table Access Method 接口增强:新增了自定义 Option 的接口,Undo 回滚段可能即将到来。

扩展接口能力增强:新增钩子、支持自定义等待事件、新增自定义注入点、支持 DSM 注册等。

Wire Protocol、Libpq 协议增强:继续加强,希望国产数据库厂商开发兼容 MySQL、SQL Server 等协议更容易。

3.如何升级

PostgreSQL版本发布规则,一年一个大版本,一个季度一个小版本;PG遇到的BUG问题,社区会很快进行修复,并在下一个版本中发布,因此有必要进行对数据库版本升级。实际的生产环境中,升级前需要详细的阅读各版本的release说明。

目前小版本升级的步骤
1.安装最新版本数据库
2.停止数据库实例
3.对数据目录进行备份
4.使用新版本启动数据库
5.调整环境变量,PGHOME/LD_LIRARAY_PATH等

目前PG大版本的升级方法主要有以下四种方式:
1.转储数据的方式
pg_dump或pg_dumpall导出数据,pg_restore或psql导入
2.通过pg_upgrade进行升级
3.通过逻辑复制的方式进行版本升级
内置逻辑或者pg_logical 扩展插件

4.总结

这些新特性和改进不仅提升了数据库的性能和功能,也增强了数据库的可用性和灵活性,使得 PostgreSQL 17 成为一个值得期待的版本。

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

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

相关文章

数据管理_DM的实现

DataManager 的实现 DataManager 是数据库系统中的核心组件,负责管理底层数据的访问、修改和事务处理。它是 DM 层直接对外提供方法的类,用来对上层其他模块提供数据操作的API的,同时也实现了对 DataItem 对象的缓存管理。DataItem 存储的 key 是由页号…

Web认识 -- 第一课

文章目录 前言一、HTML是什么?二、了解Web1. 基本概念2.Web标准3. Web构成1.前端1. HTML2.CSS3. javaScript4.常见浏览器介绍 2.Web标签构成1.结构标准2.表现标准 -- css3. 行为标准 -- javaScript 总结 前言 这里是我们进入前端学习的开端,在本次更新之后我会陆续…

【智能算法应用】正余弦优化算法求解二维路径规划问题

摘要 正余弦优化算法(Sine Cosine Algorithm, SCA)是一种新颖的群体智能优化算法,能够有效地求解复杂的非线性问题。在本研究中,我们将SCA应用于二维路径规划问题,以找到从起点到终点的最优路径,同时避开障…

Python从入门到高手4.1节-掌握条件控制语句

目录 4.1.1 理解条件控制 4.1.2 if, elif, else 4.1.3 条件表达式 4.1.4 条件控制可以嵌套 4.1.5 if语句的三元运算 4.1.6 国庆节快乐 4.1.1 理解条件控制 在日常生活中,我们常喜欢说如果, "如果怎么样,那么就会怎么样"。"如果&qu…

【JVM】双亲委派模型

文章目录 双亲委派模型(面试高频)类加载器工作过程存在意义 双亲委派模型(面试高频) 之所以这个东西面试出场概率高高,最大的原因就是它起的名字很好听 描述了查找 .class 文件的策略。 类加载器 JVM 中进行类加载的…

使用容器启动的zk无法暴露3888问题解决

1. 问题描述 zk配置如下: 我通过容器启动了一个zk,通过-p 参数暴露了2181和3888端口,容器启动脚本如下: #!/bin/shdocker rm -f myzookeeper1docker run -p 12181:2181 -p 13888:3888 --name myzookeeper1 --restart always …

汽车零部件开发流程关键阶段

目录 1、定点阶段 1.1、定点前的准备工作 1.2、定点决策过程 1.3、定点后的工作交接 2、A样阶段:设计验证与基本功能实现 2.1、样件制作:从设计图纸到实物转化 2.2、功能测试:初步验证与性能评估 2.3、评估与优化:A样阶段…

【羊毛资源】华为云开发者云主机免费申请使用指南

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正! 如果对您有帮助,烦请点赞、关注、转发、订阅专栏! 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】(全…

Vue-Lecture1-Notes

渐进式框架 Vue 被称为“渐进式框架”,是因为它允许开发者根据项目的需求逐步引入和使用其功能,而不需要一次性使用整个框架。简单来说,Vue 提供了从简单到复杂的功能层次,可以灵活选择使用。 按需使用:Vue 的核心功能…

一次实践:给自己的手机摄像头进行相机标定

文章目录 1. 问题引入2. 准备工作2.1 标定场2.2 相机拍摄 3. 基本原理3.1 成像原理3.2 畸变校正 4. 标定解算4.1 代码实现4.2 详细解析4.2.1 解算实现4.2.2 提取点位 4.3 解算结果 5. 问题补充 1. 问题引入 不得不说,现在的计算机视觉技术已经发展到足够成熟的阶段…

简单vue指令实现 el-table 可拖拽表格功能

安装 SortableJS sorttableJs 相关优点如下: 相关配置项 参考 👉 SortableJS中文官网 pnpm i sortablejs封装成指令 不多逼逼,直接上才艺 🤪🤪🤪 先安装一个 nanoid 插件 用于生成随机id,注…

【STM32单片机_(HAL库)】4-3-4【定时器TIM】测量按键按下时间实现3

1.硬件 STM32单片机最小系统按键模块 2.软件 定时器HAL驱动层文件添加ic驱动文件添加GPIO常用函数定时器输入捕获实验配置步骤main.c程序 #include "sys.h" #include "delay.h" #include "led.h" #include "uart1.h" #include &qu…

游戏修改器Cheat Engine CE v7.5修改版下载安装详细方法

Cheat Engine是一个专注于游戏的修改器。它可以用来扫描游戏中的内存,并允许修改它们。它还附带了调试器、反汇编器、汇编器、变速器、作弊器生成、Direct3D操作工具、系统检查工具等。 具体安装方法如下: 地址:Cheat Engine 7.5.zip 解压文件…

C++之String类(下)

片头 嗨喽~ 我们又见面啦,在上一篇C之String类(上)中,我们对string类的函数有了一个初步的认识,这一篇中,我们将继续学习string类的相关知识。准备好了吗?咱们开始咯~ 二、标准库中的string类 …

【MYSQL】授权远程连接的用户

文章目录 一、Navicat新建查询1.点击新建查询,授权远程连接的用户语句:2.刷新权限 二、Navicat用户 一、Navicat新建查询 1.点击新建查询,授权远程连接的用户语句: GRANT ALL PRIVILEGES ON *.* TO 库的用户名授权IP IDENTIFIED …

php email功能实现:详细步骤与配置技巧?

php email发送功能详细教程?如何使用php email服务? 无论是用户注册、密码重置,还是订单确认,电子邮件都是与用户沟通的重要手段。AokSend将详细介绍如何实现php email功能,并提供一些配置技巧,帮助你更好…

【pytorch】pytorch入门5:最大池化层(Pooling layers )

文章目录 前言一、定义概念 缩写二、参数三、最大池化操作四、使用步骤总结参考文献 前言 使用 B站小土堆课程 一、定义概念 缩写 池化(Pooling)是深度学习中常用的一种操作,用于降低卷积神经网络(CNN)或循环神经网…

《软件工程概论》作业一:新冠疫情下软件产品设计(小区电梯实体按钮的软件替代方案)

课程说明:《软件工程概论》为浙江科技学院2018级软件工程专业在大二下学期开设的必修课。课程使用《软件工程导论(第6版)》(张海藩等编著,清华大学出版社)作为教材。以《软件设计文档国家标准GBT8567-2006》…

本地生活服务项目有哪些:如何利用本地生活市场,打开线下流量!

随着各大互联网公司在本地生活服务板块的布局力度持续加大,越来越多的人都开始意识到了它背后所蕴含着的发展前景和收益潜力,进而纷纷打听起了与之相关的消息。而就小编与多位创业者的交流情况而言,在众多问题中,属本地生活服务项…

springboot中有哪些方式可以解决跨域问题

文章目录 什么是跨域解决方案CrossOrigin注解实现WebMvcConfigurer接口CorsFilter过滤器如何选择? 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 Talk is cheap &#xff0…