如何在Linux上使用pgAdmin进行数据恢复
导读:在 Linux 上使用 pgAdmin 进行数据恢复 一 恢复方式与适用场景 使用 pgAdmin 图形界面恢复:适合常规恢复,支持从 .sql 脚本或 自定义格式 .dump/.backup 文件恢复到指定数据库,操作直观。 使用命令行...
在 Linux 上使用 pgAdmin 进行数据恢复
一 恢复方式与适用场景
- 使用 pgAdmin 图形界面恢复:适合常规恢复,支持从 .sql 脚本或 自定义格式 .dump/.backup 文件恢复到指定数据库,操作直观。
- 使用命令行恢复:适合自动化与大文件场景,.sql 用 psql 执行,.dump/.backup 用 pg_restore 执行,更灵活可控。
- 物理恢复与时间点恢复 PITR:当存在 WAL 归档 时,可用 pg_basebackup + WAL 或 pg_rman 做整库恢复与按时间点回滚,适合灾难恢复。
- 迁移 pgAdmin 配置与服务器清单:若只是迁移 pgAdmin 4 的配置/服务器连接,需拷贝其配置与数据目录(如 /etc/pgadmin、/var/lib/pgadmin),与业务数据库恢复不同。
二 使用 pgAdmin 图形界面恢复步骤
- 连接服务器:在左侧展开 Servers,连接到目标 PostgreSQL 实例。
- 选择目标数据库:右键目标 数据库,选择 Restore…。
- 配置恢复:在弹窗中
- 选择备份文件(常见为 .sql 或 .dump/.backup);
- 选择恢复对象(如仅数据或包含结构);
- 确认连接参数与角色;
- 开始恢复:点击 Restore 并等待完成,完成后在对象树中验证表与数据。
- 提示:若备份为 自定义格式(-F c),pgAdmin 会调用 pg_restore;若为 纯文本 SQL,则调用 psql。
三 使用命令行恢复步骤
- 纯文本 SQL 备份(.sql):
- 恢复命令:psql -h localhost -U postgres -d your_db -f /path/file.sql
- 说明:适合小中型库,或跨版本迁移时更易人工干预。
- 自定义格式备份(.dump/.backup):
- 恢复命令:pg_restore -h localhost -U postgres -d your_db /path/file.dump
- 常用选项:-j N(并发)、–clean(先清理对象)、–if-exists(忽略不存在对象)、-v(详细)。
- 权限与连接:确保执行用户对目标库有 CREATE/INSERT 等权限,必要时使用 PGPASSWORD 或 ~/.pgpass 管理口令。
四 物理恢复与时间点恢复 PITR
- 前提条件:
- 已启用 WAL 归档(postgresql.conf 中 wal_level=replica/archiver、archive_mode=on、archive_command 有效);
- 具备基础备份(如 pg_basebackup 或 pg_rman 全量/增量)。
- 基于 WAL 的整库恢复(示例思路):
- 停止数据库,清空/移动原数据目录;
- 将基础备份解压到数据目录;
- 配置 restore_command 指向 WAL 归档;
- 启动数据库进入恢复,达到一致点后执行 pg_wal_replay_resume() 或按需要回滚到指定时间点。
- 使用 pg_rman(示例要点):
- 初始化:pg_rman init -B /path/backup
- 全量备份:pg_rman backup --backup-mode=full -B /path/backup
- 恢复:pg_rman recover -B /path/backup(可按时间点指定)
- 适用场景:磁盘损坏、误删大量数据、需要回滚到某一时刻。
五 常见问题与最佳实践
- 版本匹配:尽量保持 备份与恢复的 PostgreSQL 主版本一致;跨小版本通常可行,但需先在测试环境验证。
- 目标库状态:恢复前确认目标库为空或已做好备份;使用 –clean 可先清理对象避免冲突。
- 大对象与性能:包含 大对象(BLOB) 的库优先使用 自定义格式 + pg_restore -j N 提升恢复速度。
- 安全性:避免在命令历史中暴露口令,优先使用 ~/.pgpass 或连接文件。
- 演练与回滚:重要系统务必 定期演练恢复流程,并在低峰时段执行,全程监控与记录日志。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Linux上使用pgAdmin进行数据恢复
本文地址: https://pptw.com/jishu/756420.html
