pgAdmin在Linux上的备份策略与实践
一 策略总览
二 使用pgAdmin进行备份
三 自动化与脚本化实践
#!/usr/bin/env bash
set -Eeuo pipefail
export PGPASSWORD='YourStrongP@ssw0rd'
DB="mydb"
HOST="localhost"
PORT="5432"
USER="postgres"
BACKUP_DIR="/var/backups/pg"
DATE=$(date +%F_%H-%M-%S)
mkdir -p "$BACKUP_DIR"
pg_dump -h "$HOST" -p "$PORT" -U "$USER" -F c -b -v \
-f "$BACKUP_DIR/${DB}_${DATE}.dump" "$DB"
# 保留最近7天
find "$BACKUP_DIR" -name "*.dump" -mtime +7 -delete
0 2 * * * /usr/local/bin/pg_backup.sh >> /var/log/pg_backup.log 2>&1
pg_basebackup -h localhost -U postgres -D /var/backups/pg/base_$(date +%F) \
-P -X stream -R -F plain
四 恢复与验证
pg_restore -h localhost -U postgres -d mydb -j 4 /var/backups/pg/mydb_2025-12-29_02-00-00.dump
psql -h localhost -U postgres -f /var/backups/pg/mydb_2025-12-29_02-00-00.sql mydb
五 关键注意事项