温馨提示×

linux pgadmin怎么恢复数据

小樊
43
2026-09-09 11:43:49
栏目: 智能运维

在 Linux 上通过 pgAdmin 恢复(还原)PostgreSQL 数据,通常有几种常见场景。下面按最常用方式一步步说明。


一、通过 pgAdmin 图形界面恢复(推荐)

1️⃣ 准备备份文件

常见备份格式:

  • .sql(文本格式,用 psql 或 pgAdmin 恢复)
  • .backup / .dump(自定义格式,用 pgAdmin 或 pg_restore)

2️⃣ 使用 pgAdmin 恢复数据库

方式一:恢复到已有数据库

  1. 打开 pgAdmin
  2. 左侧找到数据库 → 右键数据库
  3. 选择 Restore…
  4. 在 File 中选择备份文件
  5. 选项说明:
    • Format:自动识别
    • Role:可选(一般默认)
  6. 点击 Restore

✅ 适合:表结构已存在,或完整恢复


方式二:恢复到新数据库

  1. 右键 Databases
  2. 选择 Create → Database
  3. 输入数据库名、Owner
  4. 创建完成后,右键新库 → Restore…
  5. 选择备份文件 → Restore

二、使用 SQL 文件恢复(.sql)

如果是 .sql 文件:

方法 1:pgAdmin 里执行

  1. 打开数据库
  2. 点击 Tools → Query Tool
  3. 打开 .sql 文件
  4. 点击 ▶ 执行

⚠ 注意:

  • 文件很大时不推荐
  • 需要数据库已存在

方法 2:Linux 命令行(更稳定)

psql -U username -d dbname -f backup.sql

三、使用 pg_restore(.dump / .backup)

命令行方式(Linux)

pg_restore -U username -d dbname /path/to/backup.dump

常用参数:

pg_restore -U postgres -d mydb --clean --if-exists backup.dump
  • --clean:先删除已存在的对象
  • --if-exists:避免报错

四、常见恢复失败原因

❌ 权限不足
✅ 使用超级用户(如 postgres)

❌ 数据库不存在
✅ 先建库再恢复

❌ 编码不一致
✅ 创建数据库时指定编码

CREATE DATABASE mydb
  WITH ENCODING='UTF8'
       LC_COLLATE='en_US.UTF-8'
       LC_CTYPE='en_US.UTF-8';

五、你的情况可以告诉我

你可以补充:

  • 备份文件格式(.sql / .dump)
  • 是否是整库恢复
  • 是否报错(贴报错信息)

我可以直接给你精确命令或操作步骤。

0 踩