日前,IvorySQL 4.0 重磅发布,全面支持 PostgreSQL 17,并且增强了对 Oracle 的兼容性。关于 IvorySQL 4.0 的介绍,各位小伙伴可以通过这篇文章回顾:IvorySQL 4.0 发布:全面支持 PostgreSQL 17.

在 IvorySQL 4.0 发布后,有小伙伴私下询问升级方法,那么本篇文章就来详细描述一下,如何从 IvorySQL 3.x 升级到 IvorySQL 4.0。

pg_upgrade 工具介绍

pg_upgrade 工具是 PostgreSQL 内置的跨版本升级工具,能够对数据库就地升级,不需要执行导出和导入操作。IvorySQL 源自于 PG,因此也能够使用 pg_upgrade 工具进行大版本升级。

pg_upgrade 提供了升级前的兼容性检查(-c 或者 --check 选项)功能,可以发现插件、数据类型不兼容等问题。如果指定了 --link 选项,新版本服务可以直接使用原有的数据库文件而不需要执行复制,通常可以在几分钟内完成升级操作。

常用的参数包括:

  • -b bindir,--old-bindir=bindir:旧的 IvorySQL  可执行文件目录
  • -B bindir,--new-bindir=bindir:新的 IvorySQL 可执行文件目录
  • -d configdir,--old-datadir=configdir:旧版本的数据目录
  • -D configdir,--new-datadir=configdir:新版本的数据目录
  • -c,--check:只检查升级兼容性,不更改任何数据
  • -k,--link:硬链接方式升级

下面介绍一下在 CentOS8 平台上如何使用 pg_upgrade 将 IvorySQL 升级到最新的 4.0 版本。

升级准备

首先停止旧版本的 IvorySQL 3.4 数据库:

然后安装新版本的 IvorySQL4.0 数据库:

初始化新版 IvorySQL4.0 数据目录:

检查版本兼容性:

最后出现 Clusters are compatible 表明两个版本之间的数据不存在兼容性问题,可以进行升级。

正式升级

看到 Upgrade Complete 说明升级已经顺利完成。

更新统计信息

pg_upgrade 会创建新的系统表,并重用旧的数据进行升级,统计信息并不会随升级过程迁移,所以在启用新版本之前,应该首先重新收集统计信息,避免没有统计信息导致错误的查询计划。

首先启动新版本数据库:

手动运行 vacuum 命令:

升级后的清理

确认没有问题后删除旧库:

至此,我们就完成了整个升级过程。

如果您在后续的升级过程中,遇到问题,可以在 GitHub 上提交 issue,我们将及时为您解答。同时,如果您对 IvorySQL 后续的功能迭代有任何想法或者期待,也可以提交 issue 反馈给我们。

IvorySQL 升级指南:从 3.x 到 4.0 的平滑过渡的更多相关文章

  1. 企业IT管理员IE11升级指南【17】—— F12 开发者工具

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  2. 企业IT管理员IE11升级指南【16】—— 使用Compat Inspector快速定位IE兼容性问题

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  3. 企业IT管理员IE11升级指南【15】—— 代理自动配置脚本

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  4. 企业IT管理员IE11升级指南【1】—— Internet Explorer 11增强保护模式 (EPM) 介绍

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  5. 企业IT管理员IE11升级指南【2】—— Internet Explorer 11 对Adobe Flash的支持

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  6. 企业IT管理员IE11升级指南【3】—— IE11 新的GPO设置

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  7. 企业IT管理员IE11升级指南【4】—— IE企业模式介绍

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  8. 企业IT管理员IE11升级指南【5】—— 不跟踪(DNT)例外

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  9. 企业IT管理员IE11升级指南【6】—— Internet Explorer 11面向IT专业人员的常见问题

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  10. 企业IT管理员IE11升级指南【7】—— Win7和Win8.1上的IE11功能对比

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

随机推荐

  1. C#中使用ping命令测试远程主机网络通信是否正常

    说明,使用ping工具 1.可以用来查询域名是否可以访问 2.可以用来查询域名对应的ip地址 如果远程服务器允许ping命令的前提下. 解决思路:主要使用了C#提供的Ping类,效率比较高,相应快 程 ...

  2. [LC1161]最大层内元素和

    题目概述 给你一个二叉树的根节点 root.设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推. 请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那 ...

  3. Index - 此处的诗

    虚构往事 正篇   嗯--本来发过两篇,但深愧于仓促的处理和并未完善的细节设定,隐藏了.   大概会是一个中篇的科幻故事,世界设定已经完善了(Shaya 可以作证!),但近期可能没有精力动笔. 番外 ...

  4. IT系统架构的演化-copy

    前言 一个成熟的大型网站(如淘宝.天猫.腾讯等)的系统架构并不是一开始设计时就具备完整的高性能.高可用.高伸缩等特性的,它是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式.技术 ...

  5. java子类父类有相同的方法优先调用子类-重写-递归

    子类和父类有相同的方法,优先调用子类.如果子类没有,父类. package studyDemo9yue; public class study01 { public static void main( ...

  6. lagrange 插值做题记录

    插值在OI中的应用 - Grice - 博客园 lagrange 插值笔记 - 洛谷专栏 P5850 calc加强版 - 洛谷 Problem - F - Codeforces 2025oifc202 ...

  7. 再获权威认可!天翼云论文被IEEE/ACM CCGrid收录

    近日,由天翼云弹性网络开拓者团队撰写的<Towards Better QoS and Lower Costs of P4 EIP Gateway at the Edge>论文被The 24 ...

  8. Django项目实战:解除跨域限制

    Django项目实战:解除跨域限制 在Web开发中,跨域资源共享(CORS)是一个重要的安全特性,它限制了网页只能与其同源的服务器进行交互.然而,在开发过程中,我们经常需要前端(如Vue.js.Rea ...

  9. 程序员的生产力神器Cursor -新手实操指南

    不得不说这个Cursor AI简直是神器中的神器! 代码自动补全就算了,关键是它能直接读懂我的意图,秒懂需求!为你自动生成整个项目级别的代码!开发过程丝滑得像在跟老朋友聊天,代码质量贼高,效率提升10 ...

  10. 实操Deepseek本地创建知识库

    之前写了一篇本地电脑部署Deepseek的文章,有些朋友问到如何给本地的Deepseek添加知识库,于是我又找时间学习了下.现在把我的实操过程分享一下.这个是本地部署Deepseek的教程:https ...