IvorySQL 升级指南:从 3.x 到 4.0 的平滑过渡
日前,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 反馈给我们。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版