使用 RPM 为 AlloyDB Omni 执行次要版本升级

选择文档版本:

本页面介绍了如何使用 Red Hat Package Manager (RPM) 为 AlloyDB Omni 执行数据库次要版本升级、验证升级后的安装,以及在需要时回滚到更早的次要版本。次要版本升级会就地更新数据库二进制文件,并保留现有配置和数据文件,而无需进行数据迁移。

本页面上的说明适用于独立单节点部署以及多节点拓扑中的各个数据库节点,例如具有读取副本或高可用性备用节点的部署。根据您的设置,请注意以下事项:

  • 多节点拓扑:请务必先升级所有副本节点和备用节点,然后再升级主节点。在高可用性设置中,请先切换到已升级的备用节点,然后再升级之前的主节点。
  • Monitoring 代理 (alloydbomni_monitor):如果您安装了可选的 alloydbomni_monitor 软件包,请在每个主机上将 alloydbomni_monitor 与 alloydbomni18 一起升级。

准备工作

  1. 规划维护窗口或短暂的服务停机时间,因为升级软件包需要暂时停止数据库服务。
  2. 我们建议您在开始升级之前对数据库进行完整备份。如需了解详情,请参阅备份和恢复概览。
  3. 如果您要升级多节点拓扑,请确定当前的主节点以及所有备用节点或副本节点,以便先升级备用节点和副本节点。
  4. 在升级之前,请验证当前的 AlloyDB Omni 数据库版本:

    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W -c "SELECT version();"

检查是否有可用更新

更新本地软件包缓存,并检查是否有更高版本的 alloydbomni18 软件包:

sudo dnf makecache
sudo dnf check-update alloydbomni18

如果您安装了 alloydbomni_monitor 软件包,请同时检查监控代理是否有可用更新:

sudo dnf check-update alloydbomni_monitor

验证私有代码库

可选:如果您通过私有 YUM 代码库或在没有互联网访问权限的环境中管理软件包,则可以运行以下命令来检查代码库配置并查看可用的软件包版本:

  1. 将 REPOID 环境变量设置为私有仓库的 ID:

    export REPOID=REPO_ID

    将 REPO_ID 替换为您的私有 YUM 代码库的代码库 ID,例如 alloydbomni。

  2. 检查哪个代码库提供了您当前的 AlloyDB Omni 安装:

    sudo dnf list installed alloydbomni18
  3. 列出所有已启用的代码库及其代码库 ID:

    sudo dnf repolist
  4. 查看私有代码库的元数据:

    sudo dnf repoinfo $REPOID
  5. 列出代码库中可用的 alloydbomni18 软件包的所有版本:

    sudo dnf --showduplicates list available alloydbomni18

升级 AlloyDB Omni

如需将 AlloyDB Omni 安装升级到更高的次要版本,请在每个节点上按照以下步骤操作。在多节点拓扑中,请先在每个备用节点或副本节点上完成以下步骤,然后再升级主节点:

  1. 停止 AlloyDB Omni 数据库服务:

    sudo systemctl stop alloydbomni18

    如果您安装了 alloydbomni_monitor 服务,也请将其停止:

    sudo systemctl stop alloydbomni_monitor
  2. 安装更新后的 AlloyDB Omni RPM 软件包:

    sudo dnf upgrade -y alloydbomni18

    此命令会更新 AlloyDB Omni 软件包和二进制文件,同时保持数据库数据目录不变。

    如果您安装了 alloydbomni_monitor 软件包,请将其与数据库软件包一起升级:

    sudo dnf upgrade -y alloydbomni_monitor
  3. 启动 AlloyDB Omni systemd 服务:

    sudo systemctl start alloydbomni18

    如果您停止了 alloydbomni_monitor 服务,请重新启动该服务:

    sudo systemctl start alloydbomni_monitor

验证升级

升级 RPM 软件包并启动服务后,验证数据库服务是否正在运行更新后的版本:

  1. 检查 AlloyDB Omni 服务的状态,并确认其为 active (running):

    sudo systemctl status alloydbomni18

    如果您升级了 alloydbomni_monitor,请确认监控服务也为 active (running):

    sudo systemctl status alloydbomni_monitor
  2. 连接到数据库,并验证升级后的版本是否处于活跃状态:

    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W -c "SELECT version();"

回滚升级

如果您需要将 AlloyDB Omni 安装还原到更早的次要版本,请按照以下步骤操作:

  1. 停止 AlloyDB Omni 数据库服务:

    sudo systemctl stop alloydbomni18

    如果您安装了 alloydbomni_monitor 服务,也请将其停止:

    sudo systemctl stop alloydbomni_monitor
  2. 列出 alloydbomni18 软件包的所有可用版本,并确定之前安装的确切版本字符串:

    sudo dnf --showduplicates list alloydbomni18
  3. 将 alloydbomni18 软件包降级到之前的版本:

    sudo dnf downgrade -y alloydbomni18-ROLLBACK_VERSION

    将 ROLLBACK_VERSION 替换为先前安装的确切版本字符串,例如 18.1.0-3.rhel9。

    如果您还需要降级 alloydbomni_monitor,请列出其可用版本并降级到之前的监控软件包版本:

    sudo dnf --showduplicates list alloydbomni_monitor
    sudo dnf downgrade -y alloydbomni_monitor-MONITOR_ROLLBACK_VERSION

    将 MONITOR_ROLLBACK_VERSION 替换为之前的 alloydbomni_monitor 软件包版本字符串。

  4. 启动 AlloyDB Omni systemd 服务:

    sudo systemctl start alloydbomni18

    如果您停止了 alloydbomni_monitor 服务,请重新启动:

    sudo systemctl start alloydbomni_monitor
  5. 验证 AlloyDB Omni 服务是否处于活跃状态并运行先前版本:

    sudo systemctl status alloydbomni18
    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W -c "SELECT version();"

后续步骤