Linux版pgAdmin備份數據方法
打開pgAdmin并連接服務器
啟動pgAdmin應用程序,在左側“服務器”窗格中展開服務器節點,輸入連接信息(如主機名、端口、用戶名、密碼)連接到目標PostgreSQL服務器。
選擇目標數據庫
在左側導航欄的“Databases”目錄下,找到需要備份的數據庫,右鍵單擊該數據庫圖標。
啟動備份流程
在右鍵菜單中選擇“備份…”選項,彈出“備份數據庫”對話框。
配置備份選項
/home/user/pg_backups/)并輸入文件名(如mydb_backup.backup)。-Fc參數);-Fp參數)。開始備份
點擊“Backup”按鈕,pgAdmin將執行備份操作。完成后,彈出提示框顯示“Backup completed successfully”(備份成功),點擊“OK”關閉對話框。
若需自動化備份(如定時任務),可使用pgAdmin內置的命令行工具pg_dump(備份單個數據庫)或pg_dumpall(備份整個集群)。
備份單個數據庫(邏輯備份)
打開終端,執行以下命令:
pg_dump -h localhost -U postgres -Fc -f /path/to/backup_file.backup database_name
參數說明:
-h:數據庫服務器地址(本地為localhost);-U:數據庫用戶名(如postgres);-Fc:指定自定義格式(支持壓縮);-f:備份文件輸出路徑;database_name:需備份的數據庫名稱。備份整個集群(包括角色、表空間)
若需備份PostgreSQL集群的所有數據庫(包括用戶角色、表空間等),使用pg_dumpall命令:
pg_dumpall -U postgres -Fc -f /path/to/all_databases_backup.backup
參數說明與pg_dump類似,備份文件包含所有數據庫的創建腳本和全局對象信息。
物理備份(可選,需停機)
若需備份數據庫文件系統(如數據目錄),可在數據庫停機狀態下使用tar命令:
tar -czvf /path/to/physical_backup.tar.gz /var/lib/pgsql/data/
注意:物理備份需停止PostgreSQL服務(systemctl stop postgresql),恢復時需替換數據目錄并重啟服務,適用于災難恢復場景。
postgres)具有目標數據庫的READ權限,備份目錄具有寫入權限(可通過chmod命令設置)。pg_restore嘗試恢復到測試數據庫),確保備份可用。backup_pg.sh),使用crontab設置定時任務(如每天凌晨2點執行):# 編輯crontab
crontab -e
# 添加以下內容(每天凌晨2點執行備份腳本)
0 2 * * * /path/to/backup_pg.sh
腳本示例(backup_pg.sh):#!/bin/bash
export PGPASSWORD="your_password"
pg_dump -h localhost -U postgres -Fc -f /pg_backups/$(date +%Y%m%d).dump mydatabase