PostgreSQL 数据库跨版本升级常用方案解析
大家好,我是只谈技术不剪发的Tony老师。对于企业而言,将数据库系统升级到新版本通常可以获得更好的性能、更多的功能、最新的安全补丁和错误修复等。因此,本文就来介绍一下PostgreSQL数据库版本升级的3种常用方案。
升级方案概述
PostgreSQL版本号由主要版本和次要版本组成。例如,PostgreSQL12.4中的12是主要版本,4是次要版本;PostgreSQL10.0之前的版本由3个数字组成,例如9.6.19,其中9.6是主要版本,19是次要版本。
发布次要版本是不会改变内存的存储格式,因此总是和相同的主要版本兼容。例如,PostgreSQL12.4和PostgreSQL12.0以及后续的PostgreSQL12.x兼容。对于这些兼容版本的升级非常简单,只需要关闭数据库服务,安装替换二进制的可执行文件,重新启动服务即可。
接下来,我们主要讨论PostgreSQL的跨版本升级问题,例如从PostgreSQL12.x升级到PostgreSQL13.y。主要版本的升级可能会修改内部数据的存储格式,因此需要执行额外的操作。常用的跨版本升级方法和适用场景如下:
升级方法 | 适用场景 | 停机时间 |
---|---|---|
逻辑备份与还原 | 中小型数据库,例如小于100GB 支持跨平台数据迁移 |
取决于数据库的大小 |
pg_upgrade工具 | 大中型数据库,例如大于100GB 本机就地升级 |
几分钟 |
逻辑复制 | 大中型数据库,例如大于100GB 跨平台支持 |
几秒钟 |
是的