【New Release】PostgreSQL小版本(16.2, 15.6, 14.11, 13.14,12.18) 发布了

news2024/12/27 11:17:40

图片

前言

PostgreSQL遵循小版本的发布规律,这一个季度的小版本又发布了。可以算作是2024年第一个季度的版本发布。如果总结其规律:大概就是2月、5月、8月、11月的样子。通常因为11月配合大版本的发布,它是起点,也有可能就是终点。起点可能是*.0,也有可能是*.1 。于是你在标题里头,可以看到14.11这样的版本号。(正常情况,应该是14.8)。但是总体来说应该是每个季度一次小版本的发布更新。

详情介绍

1、重大安全补丁

CVE-2024-0985: PostgreSQL non-owner REFRESH MATERIALIZED VIEW CONCURRENTLY executes arbitrary SQL

CVSS v3 Base Score 分数达到8.0分。超过7/7.5分的,一般都属于高等级的安全问题了。基于此,那基本上这个升级就成了强制性需求了。

One step of a concurrent refresh command was run under weak security restrictions. If a materialized view's owner could persuade a superuser or other high-privileged user to perform a concurrent refresh on that view, the view's owner could control code executed with the privileges of the user running REFRESH. The fix for the vulnerability makes is so that all user-determined code is run as the view's owner, as expected.

The PostgreSQL project thanks Pedro Gallegos for reporting this problem.

所以有些同学问,什么时候需要做小版本升级,这里我可以有给出肯定的答复,遇到重大安全补丁的修复时,这类升级基本上就是强制型的升级了,基本上没有余地。

2、BUG修复及相关改进

此更新修复了过去几个月报告的超过65个错误。下面列出的问题会影响PostgreSQL 16。其中一些问题也可能影响其他受支持的PostgreSQL版本。

  • 修复在执行JIT内联时可能导致内存不足的内存泄漏。

  • 修复了查询规划器中的几个问题。

  • 在更新分区键列时,将MERGE行为与UPDATE保持一致,并跳过触发AFTER UPDATE ROW触发器和其他更新后的操作。

  • 修复在ALTER TEXT SEARCH CONFIGURATION … MAPPING命令中重复令牌名称的问题。

  • 修复DROP ROLE中角色名重复的问题。

  • 在DROP STATISTICS期间正确地锁定关联表,以防止在并发运行ANALYZE时出现错误。

  • 修复了生成和默认表达式的函数波动性(volatility)检查。

  • 在将现有索引与新的分区索引进行匹配时,确保排序规则完全匹配。

  • 避免子索引与分区索引上的REINDEX index同时并发进行删除时出现的错误。

  • 修复了清理GIN索引期间的加锁问题。对于这种情况,如果多个进程试图清理相同的GIN索引页,则有可能导致索引损坏。如果您认为您受到此问题的影响,请在安装此更新后重新索引您的GIN索引。

  • 避免分区SP-GiST索引出现失败。

  • 几个大对象的所有权问题的修复。

  • 在EXPLAIN (BUFFERS)中修改I/O计时统计(timing)数据“shared/local”的名称为“shared”。

  • 如果在执行期间或执行后不久发生系统崩溃,请确保CREATE DATABASE命令的持久性。

  • 在开始和结束从备份恢复时添加更多的日志记录消息。

  • 回退了一个使walreceiver进程在等待建立复制连接时对SIGTERM无响应的更改。

  • 对逻辑复制进行了几个修复。

  • 修复与OpenSSL 3.2的不兼容性。

  • 修正PL/pgSQL,以允许使用SQL标准函数体的CREATE FUNCTION/CREATE PROCEDURE SQL命令。

  • 修复了libpq管道模式下的错误处理。

  • 确保initdb总是取消对lc_*系列参数的postgresql.conf条目的注释。

  • 在pg_dump中,不再转储扩展成员对象的RLS策略或安全标签。

此版本还更新了时区数据文件到tzdata版本2024a,其中包括格陵兰、哈萨克斯坦和巴勒斯坦的夏令时法律变化,以及南极站Casey和Vostok的更正。还有越南、多伦多和密克隆岛的历史修正。

注意一项:如果使用GIN索引,则在更新到此版本后可能需要重新索引。

所以呢,小版本升级,也并不是说直接升级Binary文件就了事了。该读的文档还是要读一读的,以防止一些步骤的疏漏。

SAP BTP云中HyperScaler PG的自动升级

SAP BTP Cloud针对GCP, AWS, Azure甚至Ali中的PG做了自己的定制扩展,很多工作都是自动完成的。比如这次小版本升级,通过pipeline自动执行,结合生产环境中的Multi-AZ (HA的一种体现或增强体现),可以在1分钟以内完成自动切换,而不影响实际业务的运行。

当然这个Multi-AZ的节点切换过程,对DNS cache以及CF(Cloud Foundry)上的health-check时间响应也都是提出了一些要求。DNS Cache的过期时间,减至15秒(默认的很多环境都是30秒或以上)。health-check的频率及周期需要能覆盖住上边1分钟的边界。

小版本的自动升级确实能大大减轻DBA及相关团队的工作量。唯一升下的就是有效的监控……。最终的目的都是为了高质量的SLA。这才是客户需要的。

每年将有可能的维护时间(可能要停服一小段时间),全部节省下来,让给PostgreSQL的大版本升级。

参考:

https://www.postgresql.org/about/news/postgresql-162-156-1411-1314-and-1218-released-2807/:  https://www.postgresql.org/about/news/postgresql-162-156-1411-1314-and-1218-released-2807/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Docker篇】自定义Dockerfile的操作

文章目录 🍔镜像结构🛸什么是Dockerfile⭐基于Ubuntu镜像构建一个新镜像,运行一个java项目🔎使用 java:8-alpine 🍔镜像结构 镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。 我们以MySQL为例&am…

Vintage账龄分析表计算底层逻辑(Python实操)

大家好,我是东哥。 信贷风控领域中,经常用到账龄Vintage报表,这是入门初学者的难点之一,因为它涉及到用户还款、逾期等多种行为以及业务上的多种统计口径,因此很多朋友一直无法将逻辑梳理清楚。本次来给大家详细介绍V…

Java:多态

目录 1.向上转型2.动态绑定3.方法重写4.理解多态5.多态的优缺点 1.向上转型 把子类对象给到父类,代码如下 class Animal{public String name;public int age;public void eat(){System.out.println(this.name"正在吃饭!");} } class Dog ext…

力扣映射思辨题:赎金信

思路很简单&#xff1a;查到就改 bool canConstruct(char* ransomNote, char* magazine) {for(long x0;x<strlen(ransomNote);x){for(long y0;y<strlen(magazine);y){if(magazine[y]ransomNote[x]){ransomNote[x]1;magazine[y]1;break;}}}for(long x0;x<strlen(ranso…

【ArcGIS 脚本工具】批量导出布局为图片

文章开始前要介绍一下ArcMap与ArcPro在布局上的区别。 ArcMap10.x版本的mxd文件默认只有一个布局&#xff0c;所以如果一个项目需要出几张图&#xff0c;做好的办法就是建几个mxd文件。 但是ArcPro在这方面更加整合了&#xff0c;一个aprx文件内可以新建任意多的布局&#xff…

无人机助力智慧农田除草新模式,基于YOLOv8全系列【n/s/m/l/x】参数模型开发构建无人机航拍场景下的农田杂草检测识别系统

科技发展到今天&#xff0c;无人机喷洒药物已经不是一件新鲜事情了&#xff0c;在很多高危的工作领域中&#xff0c;比如高空电力设备除冰&#xff0c;电力设备部件传送更换等等&#xff0c;无人机都可以扮演非常出色的作用&#xff0c;前面回到老家一段时间&#xff0c;最近正…

内网渗透之路:常用命令助力信息深度探索

1、查询网络配置信息 ipconfig /all 2、查询操作系统及软件信息 &#xff08;1&#xff09;查询操作系统和版本信息 英文操作系统 systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 中文操作系统 systeminfo | findstr /B /C:"OS 名称&q…

【C#】int+null=null

C#语法&#xff0c;这玩意不报错 intnullnull&#xff0c;有点不合逻辑 (Int32)(bizRepair0rder.CreateTime. Value - regues.Mlodifylime.Value).TotalMinutes (Int32)(bizRepair0rder.CreateTime. Value - reques.llodifylime.Value).TotalMinutes nullstring是引用类型&…

【C#】【SAP2000】读取SAP2000中所有Frame对象在指定工况的温度荷载值到Grasshopper中

if (build true) {// 连接到正在运行的 SAP2000// 使用 COM 接口获取 SAP2000 的 API 对象cOAPI mySapObject (cOAPI)System.Runtime.InteropServices.Marshal.GetActiveObject("CSI.SAP2000.API.SapObject");// 获取 SAP2000 模型对象cSapModel mySapModel mySap…

PlantUML + VS Code

PlantUML 使用实例 文章目录 PlantUML 使用实例1. PlantUML简介1.1 什么是PlantUML1.2 PlantUML优势在哪 2. 怎么用2.1 环境依赖2.2 VS Code组件安装 3. 常用语法3.1 标记开始结束3.2 声明参与者3.3 声明关系3.4 对消息序列编号3.5 组合消息 4. 实例 1. PlantUML简介 1.1 什么…

NCDA大赛中哪些HTML5设计作品展现出色?

与传统的HTML网页设计相比&#xff0c;HTML5网页设计主要是对网页内容的加强。HTML5已成为目前最流行的标记语言&#xff0c;拥有成熟的社区和广泛的浏览器支持&#xff0c;HTML5完整的功能和强大的扩展性使设计师和开发者能够点铁成金。HTML5可以一手控制更多可控元素&#xf…

HDS-NAS分配资源并挂载win和linux

1、首先创建系统文件。 选择nas存储池 2、根据自己的需求创建相应的挂载方式 3、window配置 配置成功 最后即可在window系统网络位置映射网络即可&#xff0c; 格式为\\123.3.4.5\test 注&#xff1a;IP地址 4、liunx挂载方式 创建完成之后即可挂载&#xff0c;注意目的主…

Vue+OpenLayers7入门到实战:OpenLayers如何使用全屏控件,来实现地图容器的全屏和退出全屏功能

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战 前言 本章介绍如何使用OpenLayers7在地图上使用地图全屏控件,来控制地图容器的全屏和退出全屏的功能。 注意:这里的全屏控件全屏指的是地图容器全屏,并非整个网页全屏。 网页整体全屏和指定网页节点全屏可以参…

FreeRTOS的学习路径介绍

FreeRTOS是一种广泛使用的开源实时操作系统&#xff08;RTOS&#xff09;&#xff0c;它被设计为一个小型、可扩展的操作系统&#xff0c;适用于微控制器和嵌入式系统。由于其轻量级和可扩展性&#xff0c;FreeRTOS被广泛应用于物联网&#xff08;IoT&#xff09;、工业自动化、…

简单了解 vim 编辑器最基础的操作

简单了解 vim 编辑器最基础的操作 vim 这个是 Linux 上自带的一个文本编辑器&#xff0c;使用 vim 就可以更灵活的对文件进行编辑了&#xff08;虽然和记事本的定位差不多,实际上vim的使用要复杂很多&#xff09; 1.打开文件 语法&#xff1a;vim 文件名 示例&#xff1a;…

mysql 排序底层原理解析

前言 本章详细讲下排序&#xff0c;排序在我们业务开发非常常见&#xff0c;有对时间进行排序&#xff0c;又对城市进行排序的。不合适的排序&#xff0c;将对系统是灾难性的&#xff0c;这个不是危言耸听。可能有些人会想&#xff0c;对于排序mysql 是怎么实现的&#xff0c;…

【计算机网络篇】计算机网络的性能指标

文章目录 &#x1f354;计算机网络的性能指标&#x1f5c3;️常见的计算机网络性能指标⭐速率⭐带宽⭐吞吐量⭐时延⭐时延带宽积⭐往返时间⭐利用率⭐丢包率 &#x1f50e;总结 &#x1f354;计算机网络的性能指标 计算机网络的性能指标被用来从不同方面度量计算机网络的性能 …

02-Java变量和运算符

1. 基本数据类型转换&#xff08;Conversion&#xff09; 在Java程序中&#xff0c;不同的基本数据类型的值经常需要进行相互转换。Java语言所提供的七种数值类型之间可以相互转换&#xff0c;基本数据类型转换有两种转换方式&#xff1a;自动类型转换和强制类型转换。boolean…

江科大stm32学习笔记【6-2】——定时器定时中断定时器外部时钟

一.定时器定时中断 1.原理 2.硬件 3.程序 此时CK_PSC72M&#xff0c;定时1s&#xff0c;也就是定时频率为1Hz&#xff0c;所以可以PSC7200-1,ARR10000-1。 Timer.c: #include "stm32f10x.h" // Device headerextern uint16_t Num;//声明跨文件的…

Python爬虫:原理与实战

引言 在当今的信息时代&#xff0c;互联网上的数据如同浩瀚的海洋&#xff0c;充满了无尽的宝藏。Python爬虫作为一种高效的数据抓取工具&#xff0c;能够帮助我们轻松地获取这些数据&#xff0c;并进行后续的分析和处理。本文将深入探讨Python爬虫的原理&#xff0c;并结合实战…