從 Linux 上的 AlloyDB Omni 備份 (以 pgBackRest 為基礎) 還原

選取文件版本:

本頁面說明如何使用 pgBackRest 建立的備份檔,還原 AlloyDB Omni 叢集。pgBackRest 是 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 指令非常靈活,您可透過傳入不同的指令列選項,控管各種選項和功能。如需執行還原的完整指南,請參閱「還原」。