一、逻辑备份与恢复
单库备份(pg_dump)
pg_dump -U postgres -v -Fc -d 数据库名 --no-owner -f 备份文件名- 示例:
pg_dump -U postgres -v -Fc -d cosmic_fi --no-owner -f /data/backup/cosmic_fi.dump
- 示例:
单库恢复(pg_restore)
pg_restore -U postgres -d 数据库名 -v 备份文件名- 示例:
pg_restore -U postgres -d cosmic_fi -v /data/backup/cosmic_fi.dump
- 示例:
单库备份(SQL文本格式)
pg_dump -U postgres -h 主机 -p 端口 -d 库名 --inserts > 备份文件名.sql- 示例:
pg_dump -h 127.0.0.1 -U cosmic -p 5432 -d ierp_sys --inserts > ierp_sys.sql
- 示例:
单库恢复(SQL文本格式)
psql -U 用户名 -d 数据库名 < 备份文件名.sql- 示例:
psql -U cosmic -d ierp_sys < ierp_sys.sql
- 示例:
二、物理备份与恢复
物理备份(pg_basebackup)
pg_basebackup -D 备份目录 -Ft -Pv -U 用户名 -h IP地址 -p 端口 -R- 示例:
pg_basebackup -D /pg_basebackup -Ft -Pv -U postgres -h 192.168.11.32 -p 5432 -R
- 示例:
物理恢复
- 恢复步骤:
- 停止 PostgreSQL 服务
- 将备份目录复制到目标服务器的数据目录
- 启动 PostgreSQL 服务
- 示例:
systemctl stop postgresql cp -r /pg_basebackup/* /var/lib/postgresql/data/ systemctl start postgresql
- 恢复步骤:
三、注意事项
- 逻辑备份:适用于日常备份、迁移、开发环境,支持跨版本兼容
- 物理备份:适用于生产环境全量备份 + WAL归档,支持 PITR(时间点恢复)
- 恢复选择:
- SQL文本格式:
psql -U 用户名 -d 数据库名 < 备份文件名.sql - 自定义格式:
pg_restore -U postgres -d 数据库名 -v 备份文件名
- SQL文本格式:
提示:物理备份需确保目标服务器与源服务器版本一致,且配置文件(如
pg_hba.conf)已正确设置复制权限。