暂无图片
pg_upgrade的两者模式有啥区别?
我来答
分享
暂无图片 匿名用户
pg_upgrade的两者模式有啥区别?


1: 普通模式和link模式的区别,线上大版本升级通常使用那种模式,如果数据库很大比如10t,建议采用啥种模式 ?

2:普通模式下,会把旧版本的数据拷贝到新版本,这里数据拷贝指的啥?


$pgdata目录中的数据吗? 还是老版本的安装软件的目录


3:2节点的主从的流复制下,如何升级,从pg 14升级到15 

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
goodbuger

1. 普通模式和 link 模式的区别,线上大版本升级通常使用哪种模式,如果数据库很大比如10t,建议采用哪种模式?

  • 普通模式:在普通模式下,pg_upgrade 会将旧版本的数据文件复制到新版本的数据目录中,并在新版本中重新初始化这些文件。这种方式适用于数据库相对较小的情况,因为它需要足够的磁盘空间来存储两份数据(旧版本和新版本)。

  • link 模式:在 link 模式下,pg_upgrade 不会复制数据文件,而是在新版本的数据目录中创建符号链接(symlink)指向旧版本的数据文件。这种方式适用于数据库较大的情况,因为它节省了磁盘空间,但需要确保旧版本的数据文件在升级过程中不会被修改或删除。

对于线上大版本升级,通常推荐使用 link 模式,因为它可以节省磁盘空间并减少升级过程中的数据复制时间。如果数据库非常大(例如10TB),使用 link 模式可以显著减少升级时间和资源消耗。

2. 普通模式下,会把旧版本的数据拷贝到新版本,这里数据拷贝指的是啥?

在普通模式下,数据拷贝指的是将旧版本数据库的数据文件(位于 $pgdata 目录中)复制到新版本数据库的数据目录中。这个过程会创建新版本的数据文件的副本,而不是直接修改旧版本的数据文件。这样可以确保在升级过程中,如果出现问题,可以回退到旧版本的数据库。

3. 2节点的主从的流复制下,如何升级,从pg 14升级到15

在主从复制的环境中,升级 PostgreSQL 版本需要谨慎操作,以确保数据的一致性和系统的可用性。以下是从 PostgreSQL 14 升级到 15 的一般步骤:

  1. 准备阶段

    • 确保备份当前数据库。
    • 检查并应用所有必要的补丁和更新。
    • 验证主从复制的配置和状态。
  2. 升级从节点

    • 停止从节点的复制。
    • 在从节点上安装新版本的 PostgreSQL。
    • 使用 pg_upgrade 在从节点上进行升级。
    • 启动从节点并验证其正常运行。
  3. 升级主节点

    • 在主节点上停止复制。
    • 在主节点上安装新版本的 PostgreSQL。
    • 使用 pg_upgrade 在主节点上进行升级。
    • 启动主节点并验证其正常运行。
  4. 重新配置复制

    • 在主节点上重新配置复制设置,确保从节点可以连接到新版本的主节点。
    • 启动从节点的复制。
  5. 验证和测试

    • 验证主从复制是否正常工作。
    • 进行充分的测试,确保所有功能正常。

在进行升级时,建议在非生产环境中先进行测试,以确保升级过程顺利,并准备好应对可能出现的问题。

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏