您可以使用PostgreSQL內建的工具pg_basebackup將整個執行個體的資料進行備份,並匯出到本地儲存。
前提條件
- RDS PostgreSQL執行個體已放通ECS執行個體或本地主機的IP。詳情請參見設定白名單。
- ECS執行個體或本地主機已安裝和RDS PostgreSQL執行個體相同版本的PostgreSQL。
背景資訊
pg_basebackup可以將整個PostgreSQL執行個體的資料進行備份,在後續業務中可用於時間點恢複。更多詳情請參見pg_basebackup。本文以CentOS 7作業系統和PostgreSQL 12版本為例,為您示範如何備份。
注意事項
建議使用高許可權帳號或具有REPLICATION許可權的帳號進行備份,避免出現許可權不足的問題。
操作步驟
說明 pg_basebackup無法備份單個資料庫或資料庫物件。備份單個資料庫或資料庫物件請參見邏輯備份PostgreSQL資料。
- 登入ECS執行個體或本地主機,使用如下命令備份目標資料庫。
pg_basebackup -Ft -Pv -Xs -z -D <backupdir> -Z5 -h '<hostname>' -p <port> -U <username> -W
參數說明如下。命令說明請參見pg_basebackup。
參數 說明 backupdir 匯出的備份檔案路徑。系統會自動建立目錄,但是如果該目錄已經存在且不為空白,則會報錯。 hostname RDS PostgreSQL執行個體串連地址。 如果相同帳號內的ECS執行個體和RDS執行個體處於相同地區,且網路類型相同(都為VPC時則必須處於同一個VPC),建議使用內網串連地址。
其他情形建議使用外網串連地址。
說明 通過外網串連地址訪問RDS執行個體,需要執行個體已申請外網串連地址。詳情請參見開通或關閉外網地址。port RDS PostgreSQL執行個體連接埠。 username RDS PostgreSQL執行個體帳號名稱。 樣本
pg_basebackup -Ft -Pv -Xs -z -D /pg12/backup1/ -Z5 -h pgm-bpxxxxx.pg.rds.aliyuncs.com -p 1433 -U test1 -W
- 命令列提示
Password:
時,輸入PostgreSQL執行個體帳號對應的密碼,然後按斷行符號鍵確認。
相關文檔
如果需要使用備份檔案恢複資料,請參見Recovering Using a Continuous Archive Backup。