温馨提示×

ubuntu pgadmin恢复如何进行

小樊
42
2025-12-27 19:28:37
栏目: 智能运维

Ubuntu 上使用 pgAdmin 进行数据库恢复

一 准备与前提

  • 确认 PostgreSQL 服务已启动:sudo systemctl status postgresql;如未运行可执行 sudo systemctl start postgresql。
  • 若 pgAdmin 报 “Utility file not found”,请在菜单 File → Preferences → Paths → PostgreSQL Binary Path 中,将路径指向 PostgreSQL 的 bin 目录(例如 /usr/bin/usr/lib/postgresql/<版本>/bin)。
  • 确保备份文件可用且完整,并优先在非生产环境验证恢复流程。
  • 恢复前建议低峰时段操作,并做好全量备份。

二 使用 pgAdmin 图形界面恢复

  • 连接到目标 Server,在左侧树形导航中右键目标 Database,选择 Restore…
  • General 页:
    • 选择备份文件(常见为 .backup.sql),设置 Format(与备份时一致,如 Custom、Plain、Directory)。
    • 指定连接角色(Role)。
  • Data/Objects 页:按需勾选要恢复的对象范围(如 pre-data、data、post-data)。
  • Options 页:可设置是否在遇到错误时继续、是否包含 OID 等。
  • 点击 Restore 开始恢复,完成后在右下角查看结果。

三 常见场景与操作要点

  • 新建空库再恢复:若备份为自定义格式(Custom),通常先新建同名空库,再对该库执行 Restore;若备份为 Plain SQL(.sql),也可直接在目标库上 Restore(会执行 DDL/DML)。
  • 覆盖已有数据:同名对象会被恢复过程修改或替换,务必提前做好全量备份。
  • 部分恢复:在 Data/Objects 中仅勾选需要的 schema/table,实现局部恢复。
  • 权限与连接:确保用于恢复的 数据库角色具备相应权限,且 pg_hba.conf 允许来自 pgAdmin 主机的连接;必要时调整后再重启 PostgreSQL。

四 命令行恢复备选

  • 自定义格式(Custom):pg_restore -h localhost -U postgres -d dbname dbname.backup
  • 纯文本 SQL:psql -h localhost -U postgres -d dbname -f dbname.sql
  • 物理备份(Basebackup):停止实例后清空数据目录,将备份解压到数据目录并启动;或使用 pg_basebackup 配合复制槽进行备机重建。

五 故障排查要点

  • “Utility file not found”:在 Preferences → Paths 修正 PostgreSQL Binary Path
  • 连接或权限失败:检查 pg_hba.conf、服务状态与网络连通性,必要时重启 PostgreSQL。
  • 查看日志定位问题:pgAdmin 日志通常在 ~/.pgadmin/pgadmin4.log;PostgreSQL 日志位于数据目录的 postgresql-<日期>.log

0