首页主机资讯如何用Linux pgAdmin恢复数据

如何用Linux pgAdmin恢复数据

时间2025-12-02 12:21:05发布访客分类主机资讯浏览1177
导读:在 Linux 上使用 pgAdmin 恢复 PostgreSQL 数据的完整步骤 一 准备与前提 安装并启动 pgAdmin 4,使用具有足够权限的账号连接到目标 PostgreSQL 服务器(常见为 postgres 角色或具备 CR...

在 Linux 上使用 pgAdmin 恢复 PostgreSQL 数据的完整步骤

一 准备与前提

  • 安装并启动 pgAdmin 4,使用具有足够权限的账号连接到目标 PostgreSQL 服务器(常见为 postgres 角色或具备 CREATEDB/CREATEROLE 权限的用户)。
  • 准备可用的备份文件:
    • 逻辑备份:.sql(纯文本 SQL 脚本)、.backup/.dump(自定义或目录格式,通常由 pg_dump 生成)。
    • 物理备份:数据目录的文件系统级拷贝(如使用 pg_basebackup 生成)。
  • 恢复前建议:在非生产环境先演练;确认备份文件完整可用;选择低峰时段执行;确保目标库不存在重要数据或已做好备份。
  • 注意:对生产库执行恢复会替换目标库内容,务必谨慎操作。

二 图形界面恢复步骤(适合 .sql 与 .backup/.dump)

  • 创建目标数据库(若需要):在左侧对象树中右键 DatabasesCreateDatabase,填写数据库名并指定合适的所有者(如 postgres)。
  • 执行恢复:
    • 方式 A(整库恢复):右键目标数据库 → Restore → 在对话框中选择备份文件,按需填写 Role name(执行恢复的角色),点击 Restore 开始。
    • 方式 B(按模式恢复):展开目标数据库 → Schemas → 右键目标 Schema(如 public)→ Restore → 选择备份文件并恢复。
  • 等待恢复完成提示,完成后可刷新对象树或执行简单查询验证数据。

三 按备份类型选择正确做法

  • 逻辑备份(.sql 脚本):
    • 适合小到中等规模库、跨版本迁移或需要可读脚本审计的场景。
    • 在 pgAdmin 中可直接用 Restore 执行 .sql;若失败,可用命令行:
      • psql -U postgres -d your_db -f /path/file.sql
  • 自定义/目录格式(.backup/.dump):
    • 支持并行选择性对象恢复包含大对象,更适合大中型库。
    • 在 pgAdmin 中用 Restore 选择该文件;若失败,可用命令行:
      • pg_restore -U postgres -d your_db /path/file.backup
  • 物理备份(pg_basebackup 生成):
    • 用于同版本的快速全量恢复或搭建流复制备库
    • 停止数据库服务,清空/备份原数据目录,将备份拷贝到数据目录,设置正确的 PGDATA 与权限,启动服务;如需时间点恢复,需配合 WAL 归档pg_rman 等工具。

四 常见问题与排查

  • 权限不足:确保用于恢复的 Role 具备在目标库上创建对象、写入数据的权限(常见为 postgres 或具备相应权限的专用角色)。
  • 连接或认证失败:核对 主机、端口、数据库名、用户名/密码;必要时在“服务器”属性中更新连接信息。
  • 备份文件损坏或不兼容:校验文件完整性;确认 备份格式与恢复方式匹配(如目录/自定义格式用 pg_restore,纯 SQL 用 psql);跨大版本恢复需评估兼容性。
  • 目标库非空导致冲突:恢复会覆盖目标库内容,建议先备份现有库或使用新库作为恢复目标。
  • 大对象或性能问题:对大库优先使用自定义/目录格式并启用并行;必要时在低峰时段执行。

五 命令行备选方案(当图形界面受限时)

  • 纯 SQL 脚本:
    • psql -U postgres -h localhost -p 5432 -d target_db -f /path/file.sql
  • 自定义/目录格式:
    • pg_restore -U postgres -h localhost -p 5432 -d target_db -j 4 /path/file.backup(-j 为并行度)
  • 物理恢复(pg_basebackup 场景):
    • 停库 → 备份原 $PGDATA → 将备份解压/拷贝至 $PGDATA → 启动服务;如需 PITR,配置 WAL 归档并使用 pg_rman 执行恢复。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何用Linux pgAdmin恢复数据
本文地址: https://pptw.com/jishu/761144.html
Ubuntu Strings如何帮助网站应对竞争压力 Ubuntu Strings对网站长期发展有何影响

游客 回复需填写必要信息