您在此處:使用 Arcserve UDP Agent (Linux) > 如何整合及自動化 Arcserve UDP Agent (Linux) 與現有的 IT 環境 > 使用指令碼來備份和還原 PostgreSQL 資料庫

使用指令碼來備份和還原 PostgreSQL 資料庫

下列 指令碼可執行 PostgreSQL 資料庫的備份。執行此指令碼時,您不需要停止資料庫就能執行備份。

前置先決條件

開始備份之前,請務必執行下列動作:

附註:若要套用這些設定,請在配置 postgresql.conf 檔案中的這些設定後,將伺服器重新開機。

以下命令可協助您在重新開機之後檢查封存模式的狀態:

套用指令碼

請採取以下步驟:

  1. 解壓縮 LinuxPostgres.zip,其中包含下列四個檔案:postgresql_backup_pre.sh、postgresql_snapshot_post.sh、postgresql_settings、postgresql_backup_post.sh
  2. 將前置/後置備份/快照的檔案複製到 Linux 備份伺服器的下列路徑 /opt/Arcserve/d2dserver/usr/prepost。
  3. 將 postgresql_settings 複製到來源路徑 /root/backup。
  4. 請務必檢查 postgresql_settings 中針對變數所設定的所有值,並根據您的環境修改必要的變更。
  5. 從 UDP 主控台配置計畫,並選取 PostgreSQL 節點作為來源。
  6. 確認備份狀態。若要知道 PostgreSQL 備份的狀態,請查看 arcserve_postgresql_backup_${DATE}.log 檔案。這個日誌檔是在由使用者設定的目錄中建立。如需配置此目錄的詳細資訊,請參閱 postgresql_settings 檔案。

還原 PostgreSQL 資料庫

請採取以下步驟:

  1. 停止資料庫伺服器。
  2. 若要還原原始位置,請執行下列作業:
    1. 刪除目前 /data 資料夾中的檔案和目錄。
    2. 執行整個 /data 資料夾的還原。
  3. 完成從 /data 資料夾還原之後,刪除下列資料夾中的檔案:
  4. 移至配置用於 WAL 封存的資料夾,並執行下列作業:
    1. 刪除還原的 pg_wal 目錄中的檔案,其中包含與備份期間所執行之交易相關的資訊。
    2. 現在,將檔案從使用者定義的封存位置複製到 pg_wal 資料夾中,以資料一致性與時間點復原。
  5. 啟動資料庫伺服器。

還原至相同伺服器上的替代位置

  1. 停止資料庫伺服器。
  2. 執行 PGDATA 將其配置為 "new_data_directory_path"。
  3. 使用 'Initdb' 命令初始化新建立的資料庫。
  4. 刪除目前 /data 資料夾中的檔案和目錄。
  5. 執行整個 /data 資料夾的還原。
  6. 完成從 /data 資料夾還原之後,從下列資料夾中刪除檔案:
  7. 移至配置用於 WAL 封存的資料夾,然後執行下列作業:
    1. 刪除還原的 pg_wal 目錄中的檔案,其中包含與備份期間所執行之交易相關的資訊。
    2. 現在,將檔案從使用者定義的封存位置複製到 pg_wal 資料夾中,以資料一致性與時間點復原。
  8. 啟動資料庫伺服器。
  9. 附註:請確定在更新 PGDATA 的工作階段中執行資料庫啟動。

限制

如果為 PostgreSQL 資料庫配置了非預設的連接埠,上述指令碼將無法執行備份。此指令碼只能用於預設連接埠 5432。

解決辦法是使用下列建議,手動修改 postgresql_backup_pre.sh 和 postgresql_snapshot_post.sh 指令碼:


Copyright © 2014-2021, Arcserve. All rights reserved.

評分此頁面
此頁面上的內容對我很有用。 非常不同意 非常同意
提交此頁面的評分與選擇性註解