PostgreSQL版本策略

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

当前最新的主要版本是 PostgreSQL 16,下一个主要版本是 PostgreSQL 17,预计 2024 年 9 月发布。当前最新的次要版本是 PostgreSQL 16.4,预计每年二月、五月、八月、十一月第二周的周四都会发布一个的次要版本。另外,如果发布团队认为一个关键 Bug 或者安全更新非常重要,无法等待预定的发布计划,可能会提前发布一个次要版本。

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

正在开发的新功能可以通过 PostgreSQL WIKI 页面以及 CommitFest 列表查看。

版本编号

PostgreSQL 10 版本开始,主要版本的升级只会修改版本号中的第一部分,例如 PostgreSQL 10 升级为 PostgreSQL 11。在此之前,主要版本的变更涉及第一部分和第二部分,例如 PostgreSQL 9.5 升级为 PostgreSQL 9.6。

次要版本使用版本编号中的最后一部分数字表示。PostgreSQL 10 开始次要版本使用第二部分表示,例如 PostgreSQL 10.0 升级为 PostgreSQL 10.1;早期版本使用第三部分表示次要版本,例如 PostgreSQL 9.5.3 升级为 PostgreSQL 9.5.4。

版本升级

主要版本通常包含一些复杂的功能变更,数据目录的内容无法支持向后兼容,因此主要版本升级需要对数据库进行导出/导入操作,或者使用 pg_upgrade 进行升级。

推荐用户在升级主要版本之前阅读文档中关于升级部分的内容。PostgreSQL 支持跨主要版本升级,例如从 PostgreSQL 10 直接升级到 PostgreSQL 12,但是仍然推荐在升级之前查看所有跨越的主要版本的发行说明。

次要版本的升级相对简单,不需要进行导出/导入操作,用户只需要停止数据库服务,安装新版本软件,然后重启服务。有时候这种升级方式可能需要执行额外的操作,最好还是在升级之前阅读一下发行说明。

次要版本只包含频繁出现的 Bug、低风险修复、安全问题以及数据损坏问题,因此升级次要版本比继续使用旧版本风险更低,推荐使用主要版本的最新次要版本。

版本历史

主要版本 次要版本 是否支持 首次发布 最终发布
16 16.4 2023-09-14 2028-11-09
15 15.8 2022-10-13 2027-11-11
14 14.13 2021-09-30 2026-11-12
13 13.16 2020-09-24 2025-11-13
12 12.20 2019-10-03 2024-11-14
11 11.22 2018-10-18 2023-11-09
10 10.23 2017-10-05 2022-11-10
9.6 9.6.24 2016-09-29 2021-11-11
9.5 9.5.25 2016-01-07 2021-02-11
9.4 9.4.26 2014-12-18 2020-02-13
9.3 9.3.25 2013-09-09 2018-11-08
9.2 9.2.24 2012-09-10 2017-11-09
9.1 9.1.24 2011-09-12 216-10-27
9.0 9.0.23 2010-09-20 2015-10-08
相关推荐
user_admin_god1 天前
企业级管理系统的站内信怎么轻量级优雅实现
java·大数据·数据库·spring boot
百***22121 天前
mysql的分区表
数据库·mysql
humors2211 天前
服务端开发案例(不定期更新)
java·数据库·后端·mysql·mybatis·excel
Wang's Blog1 天前
MySQL: 服务器性能优化全面指南:参数配置与数据库设计的最佳实践
服务器·数据库·mysql
码农101号1 天前
Mysql主从架构的搭建
数据库·mysql·架构
cqsztech1 天前
ORACLE数据库中如何找到过去某个时间某个表被谁修改了
数据库·oracle
好记忆不如烂笔头abc1 天前
sql评估存储的速度和稳定性
数据库·sql
小鹏linux1 天前
《openGauss安全架构与数据全生命周期防护实践:从技术体系到行业落地》
数据库·opengauss·gaussdb
朝新_1 天前
【实战】动态 SQL + 统一 Result + 登录校验:图书管理系统(下)
xml·java·数据库·sql·mybatis
装不满的克莱因瓶1 天前
什么是脏读、幻读、不可重复读?Mysql的隔离级别是什么?
数据库·mysql·事务·隔离级别·不可重复读·幻读·脏读