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

2024-03-16 08:28

本文主要是介绍【New Release】PostgreSQL小版本(16.2, 15.6, 14.11, 13.14,12.18) 发布了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片

前言

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/

这篇关于【New Release】PostgreSQL小版本(16.2, 15.6, 14.11, 13.14,12.18) 发布了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

IIS 7.0 及更高版本中的 FTP 状态代码

《IIS7.0及更高版本中的FTP状态代码》本文介绍IIS7.0中的FTP状态代码,方便大家在使用iis中发现ftp的问题... 简介尝试使用 FTP 访问运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上的内容时,IIS 将返回指示响应状态的数字代

如何解决yum无法安装epel-release的问题

《如何解决yum无法安装epel-release的问题》:本文主要介绍如何解决yum无法安装epel-release的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录yum无法安装epel-release尝试了第一种方法第二种方法(我就是用这种方法解决的)总结yum

一文详解PostgreSQL复制参数

《一文详解PostgreSQL复制参数》PostgreSQL作为一款功能强大的开源关系型数据库,其复制功能对于构建高可用性系统至关重要,本文给大家详细介绍了PostgreSQL的复制参数,需要的朋友可... 目录一、复制参数基础概念二、核心复制参数深度解析1. max_wal_seChina编程nders:WAL

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

PostgreSQL 序列(Sequence) 与 Oracle 序列对比差异分析

《PostgreSQL序列(Sequence)与Oracle序列对比差异分析》PostgreSQL和Oracle都提供了序列(Sequence)功能,但在实现细节和使用方式上存在一些重要差异,... 目录PostgreSQL 序列(Sequence) 与 oracle 序列对比一 基本语法对比1.1 创建序

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

查看MySQL数据库版本的四种方法

《查看MySQL数据库版本的四种方法》查看MySQL数据库的版本信息可以通过多种方法实现,包括使用命令行工具、SQL查询语句和图形化管理工具等,以下是详细的步骤和示例代码,需要的朋友可以参考下... 目录方法一:使用命令行工具1. 使用 mysql 命令示例:方法二:使用 mysqladmin 命令示例:方

Java版本不兼容问题详细解决方案步骤

《Java版本不兼容问题详细解决方案步骤》:本文主要介绍Java版本不兼容问题解决的相关资料,详细分析了问题原因,并提供了解决方案,包括统一JDK版本、修改项目配置和清理旧版本残留等步骤,需要的朋... 目录错误原因分析解决方案步骤第一步:统一 JDK 版本第二步:修改项目配置第三步:清理旧版本残留兼容性对