从基于 pgBackRest 的备份恢复 AlloyDB Omni on Linux

选择文档版本:

本页面介绍了如何使用 通过 pgBackRest(AlloyDB Omni 附带的开源 备份解决方案)创建的备份来恢复 AlloyDB Omni 集群。

由于 AlloyDB Omni 与 PostgreSQL 兼容, 因此 pgBackRest 手册 中介绍的数据恢复命令和技术也适用于 AlloyDB Omni。本页面演示了一些常见的恢复任务,并提供了相关命令的示例。

启用 TDE 的集群也支持使用 pgBackRest 进行备份和恢复。如需了解更多 信息,请参阅创建启用 TDE 的 集群

如需详细了解如何将 pgBackRest 配置为与 AlloyDB Omni 配合使用,请参阅 为 AlloyDB Omni 设置 pgBackRest

准备工作

在恢复 AlloyDB Omni 集群之前,请确保您具有以下内容:

  • 运行 sudo dnf install pgbackrest 以安装 pgBackRest。

  • 为 AlloyDB Omni 实例设置并配置 pgBackRest。

  • 目标文件系统上有足够的磁盘空间,来存储已恢复的 AlloyDB Omni 数据库集群。

  • 用于恢复数据库实例的 AlloyDB Omni 主要版本与原始来源数据库实例相同。

    如需检查 PostgreSQL 版本,请运行以下命令:

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

    如需检查 pgBackRest 版本,请运行以下命令:

    pgbackrest version
    

    如果您的目标数据库实例具有不同版本的 PostgreSQL、pgBackRest 或两者,那么您需要创建一个具有匹配版本的新目标数据库实例。如果无法使用这种方法,则需要使用其他 方法(例如 PostgreSQL 附带的 pg_dumppg_dumpall 实用程序 ),以便在不同版本之间复制数据库。

停止 AlloyDB Omni

如需模拟 AlloyDB Omni 数据库集群不可用的情况,请停止服务。

sudo systemctl stop 18

移除数据目录

如需清除 AlloyDB Omni 数据库集群,请移除数据目录。

sudo rm -rf DATA_DIR/*

执行以下变量替换操作:

  • DATA_DIR:存储数据的主机目录路径。

验证您的备份是否可见

sudo -u postgres pgbackrest \
--config-path=/var/lib/BACKUP_DIR \
--stanza=STANZA_NAME \
info

执行以下变量替换操作:

  • STANZA_NAME:您创建的节的名称。例如 my-stanza
  • 恢复您的备份

    sudo -u postgres pgbackrest \
    --stanza=STANZA_NAME \
    restore
    

    执行以下变量替换操作:

    * STANZA_NAME:您创建的节的名称。例如, my-stanza

    启动 AlloyDB Omni

    启动 AlloyDB Omni 服务。

    sudo systemctl start 18
    

    验证 AlloyDB Omni 是否已启动

    sudo systemctl status 18
    

    其他选项

    pgBackRest restore 命令非常灵活,您可以通过传入不同的命令行选项来控制一系列选项和功能。 如需查看执行恢复的完整指南,请参阅 恢复