由于 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_dump或pg_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 命令非常灵活,您可以通过传入不同的命令行选项来控制一系列选项和功能。
如需查看执行恢复的完整指南,请参阅
恢复。