溫馨提示×

centos postgresql備份恢復

小樊
130
2025-02-12 04:05:19
欄目: 云計算

在CentOS上備份和恢復PostgreSQL數據庫可以通過以下幾種方法實現:

邏輯備份

使用 pg_dump 命令進行邏輯備份,該命令將數據庫的結構和數據導出為SQL腳本文件。

備份示例:

pg_dump -U postgres -h localhost -p 5432 -F c -b -v -f /path/to/backup/backup_file mydatabase

其中:

  • -U postgres 指定用戶名。
  • -h localhost 指定主機名。
  • -p 5432 指定端口號。
  • -F c 表示以自定義格式備份。
  • -b 表示包含大對象。
  • -v 表示詳細模式。
  • -f /path/to/backup/backup_file 指定備份文件的路徑和名稱。
  • mydatabase 是要備份的數據庫名稱。

恢復示例:

pg_restore -U postgres -h localhost -p 5432 -d mydatabase -v /path/to/backup/backup_file

其中:

  • -U postgres 指定用戶名。
  • -h localhost 指定主機名。
  • -p 5432 指定端口號。
  • -d mydatabase 指定要恢復的數據庫名稱。
  • -v 表示詳細模式。
  • /path/to/backup/backup_file 是備份文件的路徑。

物理備份

使用 pg_basebackup 命令進行物理備份,該命令會復制整個數據目錄,適用于快速恢復,但占用空間較大。

備份示例:

pg_basebackup -U postgres -D /path/to/backup -F t -v -P

其中:

  • -U postgres 指定用戶名。
  • -D /path/to/backup 指定備份目錄。
  • -F t 表示以tar格式備份。
  • -v 表示詳細模式。
  • -P 表示顯示進度。

自動化備份

可以使用 cron 任務定期執行備份腳本,以確保數據庫的定期備份和異地備份。

備份腳本示例:

#!/bin/bash
# 配置參數
USER= "postgres"
DB_NAME= "mydatabase"
BACKUP_DIR= "/path/to/backups"
DATE=$(date +%Y%m%d%H%M%S)
# 創建備份文件路徑
BACKUP_FILE= "$BACKUP_DIR/$DB_NAME - $DATE.sql"
# 使用pg_dump進行備份
pg_dump -U $USER -d $DB_NAME -f $BACKUP_FILE
# 打印備份完成信息
echo "Backup of $DB_NAME completed on $DATE. Backup file is $BACKUP_FILE"

設置定時任務:

0 2 * * * /path/to/backup_postgresql.sh

這條命令會在每天凌晨2點執行備份腳本。

通過這些步驟,您可以在CentOS系統上成功備份和恢復PostgreSQL數據庫,確保數據的安全性和可靠性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女