温馨提示×

ubuntu pgadmin怎样恢复数据

小樊
32
2026-09-12 15:28:44
栏目: 智能运维

在 Ubuntu 上使用 pgAdmin 恢复(还原)PostgreSQL 数据,通常有两种常见场景:恢复整个数据库备份(如 .sql / .dump)恢复表数据。下面分步骤说明。


一、使用 pgAdmin 恢复数据库备份(推荐)

适用情况

你之前用 pgAdmin 或 pg_dump 导出了:

  • .sql 文件
  • .backup / .dump 文件

步骤

  1. 打开 pgAdmin 4
  2. 在左侧树形菜单中:
    • 右键点击你要恢复的 数据库
    • 选择 Restore…(恢复)
  3. 在弹出的窗口中:
    • Filename:选择你的备份文件
    • Format
      • Custom or tar → 对应 .dump / .backup
      • Plain → 对应 .sql
    • 点击 Restore
  4. 等待完成后,刷新数据库即可看到数据

✅ 如果数据库不存在:

  • 先新建一个同名空数据库
  • 再执行 Restore

二、使用 SQL 文件恢复(命令行方式,更稳定)

如果 pgAdmin 恢复失败,推荐用命令行:

sudo -u postgres psql dbname < backup.sql

或(压缩文件):

gunzip -c backup.sql.gz | sudo -u postgres psql dbname

三、只恢复某张表

如果你只有表数据:

  1. 在 pgAdmin 中:
    • 右键表 → Query Tool
  2. 执行:
COPY table_name FROM '/path/to/file.csv' DELIMITER ',' CSV HEADER;

或使用 Restore 时:

  • 在 Restore 选项中指定 Only data / Only schema

四、常见错误及解决

1. 权限不足

permission denied

解决:

sudo -u postgres pg_restore ...

2. 角色不存在

role "xxx" does not exist

解决:

  • 先创建角色
CREATE ROLE xxx LOGIN PASSWORD 'pwd';

3. 数据库已存在对象

解决:

  • 勾选 Clean before restore

五、建议

  • 大数据恢复 → 用 pg_restore 命令行
  • 小数据 → pgAdmin 图形界面即可

如果你能告诉我:

  • 备份文件类型(.sql / .dump)
  • 是整库恢复还是单表
  • 是否报错信息

我可以给你更精确的操作步骤。

0