Debian下使用 pgAdmin 恢复数据的步骤
一 准备与前提
- 在 Debian 上已安装并登录 pgAdmin 4(常见访问地址为 http://<服务器IP>:5050),确保能正常连接目标 PostgreSQL 服务器。
- 备份文件类型通常为:
- 自定义或 tar 格式(扩展名多为 .backup),此类使用 pg_restore 恢复;
- 纯文本 SQL 脚本(如 .sql),此类使用 psql 导入。
- 恢复前建议:在非生产环境先演练;选择低峰时段;确认备份文件完整可用;准备好目标库的连接权限与角色。
二 图形化恢复步骤 pgAdmin 4
- 创建目标数据库(若需覆盖已有库,可跳过创建,直接恢复到该库):在左侧树形导航中右键 Servers → Databases → Create → Database,填写数据库名称、所有者等并保存。
- 执行恢复:右键目标数据库 → Restore → 在对话框中:
- 选择备份文件(支持上传或服务器路径);
- 确认 Format 与备份时一致(自定义/tar 对应 pg_restore;纯文本 SQL 对应 psql);
- 在 Restore Options 中可按需设置(如是否包含 pre-data/data/post-data、是否清理/创建对象等);
- 点击 Restore 开始,完成后在消息面板查看日志与结果。
- 常见要点:
- 若备份为 自定义/tar(.backup),恢复时通常应选择目标数据库(而非服务器级),由 pg_restore 负责对象级恢复;
- 若备份为 纯文本 SQL,也可直接在目标库使用 Query Tool 执行该脚本完成导入。
三 命令行恢复方式(备用与自动化)
- 纯文本 SQL 备份(.sql):
- 先创建空库:createdb -U <用户> <目标库名>
- 导入:psql -h <主机> -U <用户> -d <目标库名> -f <备份文件>.sql
- 自定义/tar 备份(.backup):
- 恢复到指定库:pg_restore -h <主机> -U <用户> -d <目标库名> <备份文件>.backup
- 说明:pgAdmin 的备份/恢复在底层分别调用 pg_dump/pg_restore,因此命令行方式与图形化方式可互相替代,适合脚本化与批量恢复。
四 常见问题与排错
- 备份与恢复格式不匹配:
- 自定义/tar(.backup) 必须用 pg_restore;
- 纯文本 SQL(.sql) 必须用 psql;混用会报错。
- 权限与连接失败:确保用于恢复的 数据库用户具备相应权限,且 pg_hba.conf 允许来自 pgAdmin 客户端的连接;必要时在 pgAdmin 连接配置中启用 SSL。
- 路径与文件名问题:上传或指定备份文件路径时避免空格与特殊字符;若失败,改用命令行方式指定绝对路径。
- 目标库状态:恢复到已有库前请做好备份;若需重建,先 DROP/CREATE 再恢复。
- 查看日志:pgAdmin 任务面板与 PostgreSQL 服务日志可帮助定位失败原因。