全部產品
Search
文件中心

ApsaraDB RDS:RDS PostgreSQL CSV或SQL檔案恢複到自建資料庫

更新時間:Mar 10, 2025

您可以使用RDS PostgreSQL的備份下載功能,將雲端硬碟執行個體的快照備份資料轉換成CSV檔案或SQL檔案匯出,然後通過該檔案將資料恢複到自建PostgreSQL資料庫中。

操作步驟

本樣本以RDS PostgreSQL雲端硬碟執行個體的SQL檔案恢複至ECS執行個體(CentOS 7.8 64位Linux系統)的自建PostgreSQL資料庫為例,以下命令和指令碼不支援在非Linux環境下使用,否則將會報錯。

  1. 登入RDS控制台,使用下載備份功能將雲端硬碟執行個體的備份檔案轉換成CSV檔案或SQL檔案,並下載到本地或ECS執行個體中。

  2. 在本地或ECS執行個體中解壓下載的備份檔案,命令如下:

    tar -zxvf <壓縮包檔案名稱>.tar.gz -C <解壓縮後的檔案位置>

    本樣本將名為backup.tar.gz的壓縮檔解壓縮到指定目錄/home/ecs-test-user中,具體請以實際檔案名稱和目錄為準。

    tar -zxvf backup.tar.gz -C /home/ecs-test-user
  3. (可選)查看備份檔案是否已解壓到指定位置(/home/ecs-test-user)。

    ls -al /home/ecs-test-user
  4. 將PostgreSQL Python指令檔下載至本地或ECS執行個體中。

  5. 對Python指令檔restore_from_downloads.py進行授權,命令如下:

    chmod +x ./restore_from_downloads.py
  6. 將CSV檔案或SQL檔案恢複至自建資料庫,恢複命令如下:

    python3 restore_from_downloads.py <CSV檔案或SQL檔案目錄路徑> <資料庫主機> <資料庫連接埠> <資料庫帳號> <資料庫密碼>

    樣本如下:

    python3 restore_from_downloads.py /home/ecs-test-user 127.0.0.1 5432 postgres "#Tes********"
    重要
    • 請確保自建資料庫中沒有和待匯入的資料庫同名的庫,否則將匯入失敗。

    • 如果資料庫帳號名或密碼中包含了特殊字元(例如:#、空格等),在命令列傳入參數時需要使用英文雙引號("")將密碼括起來。例如,如果資料庫密碼是#1234,則需要在命令列中傳入"#1234"

    • 如果您的系統沒有安裝Python 3.x,恢複可能會出錯。您可通過python3 --version命令查看Python版本。

相關文檔