首页主机资讯pgAdmin在Ubuntu上如何迁移数据库

pgAdmin在Ubuntu上如何迁移数据库

时间2025-11-28 18:25:03发布访客分类主机资讯浏览1383
导读:在 Ubuntu 上迁移 PostgreSQL 数据库的可行方案 一 迁移目标与准备 明确迁移对象:是要迁移实际的 PostgreSQL 数据库,还是迁移 pgAdmin 4 的配置与服务器书签(两者操作不同)。 版本与兼容性:尽量保持...

在 Ubuntu 上迁移 PostgreSQL 数据库的可行方案

一 迁移目标与准备

  • 明确迁移对象:是要迁移实际的 PostgreSQL 数据库,还是迁移 pgAdmin 4 的配置与服务器书签(两者操作不同)。
  • 版本与兼容性:尽量保持 源库与目标库 PostgreSQL 主版本一致;跨小版本通常可用 自定义归档格式(-Fc) 的 pg_dump/pg_restore 迁移,跨大版本需谨慎评估并先在测试环境演练。
  • 账号与权限:准备具有足够权限的数据库用户(如 postgres 或具备 CREATEDB/CREATEROLE 权限的用户)。
  • 目标环境:确保 Ubuntu 上已安装并运行 PostgreSQL,且磁盘空间充足。
  • 一致性:对在线业务,选择低峰期执行,必要时短暂停写或使用事务一致性选项(如 pg_dump 默认对常规表做一致性快照)。

二 方法一 使用 pgAdmin 图形界面完成迁移(适合大多数用户)

  • 步骤 1 备份源库
    • 在 pgAdmin 左侧对象树中右键源数据库 → Backup…
    • 选择格式:推荐 自定义格式(-Fc)(便于选择性恢复、支持大对象),也可选 纯文本 SQL 脚本(-Fp)
    • 勾选需要导出的内容(常见为 pre-data / data / post-data 全选),指定文件路径与编码,点击 Backup 开始。完成后得到如 mydb.backupmydb.sql 的备份文件。
  • 步骤 2 在目标库创建空库
    • 在目标 PostgreSQL 上新建同名(或按规划命名)的数据库,设置合适的 所有者(Owner)编码/排序规则
  • 步骤 3 恢复到目标库
    • 在目标数据库中右键 → Restore…,选择上一步的备份文件,确认目标数据库与角色映射,点击 Restore
    • 若为 -Fc 归档,优先使用 pg_restore 恢复;若为 .sql 脚本,可用 psql 执行。
  • 步骤 4 校验
    • 在 pgAdmin 中检查表、视图、函数、数据量及大对象是否完整;执行关键业务查询验证一致性。

三 方法二 使用命令行完成迁移(适合自动化与脚本化)

  • 场景 A 整库迁移(推荐自定义归档格式)
    • 导出:
      • pg_dump -U username -h source_host -p source_port -d dbname -F c -b -v -f backup.backup
    • 传输:
      • scp backup.backup user@target_ip:/path/to/
    • 恢复(目标库需先存在):
      • pg_restore -U username -h target_host -p target_port -d dbname -v /path/to/backup.backup
  • 场景 B 导出为 SQL 脚本(便于审阅与跨平台)
    • 导出:
      • pg_dump -U username -h source_host -p source_port -d dbname -F p -f backup.sql
    • 恢复:
      • psql -U username -h target_host -p target_port -d dbname -f backup.sql
  • 场景 C 仅迁移部分表或数据
    • 仅结构:-s;仅数据:-a;指定表:-t schema.table;也可结合 COPY TO/FROM 处理大批量 CSV 数据。

四 只迁移 pgAdmin 4 的配置与服务器列表(不含数据库)

  • 适用:更换 Ubuntu 机器或重装系统,仅希望保留 pgAdmin 4 的连接配置、服务器组/书签 等。
  • 步骤
    • 备份配置与数据目录(默认位置):
      • sudo rsync -a /etc/pgadmin/ /backup/pgadmin_etc/
      • sudo rsync -a /var/lib/pgadmin/ /backup/pgadmin_lib/
    • 在新机器上恢复:
      • sudo rsync -a /backup/pgadmin_etc/ /etc/pgadmin/
      • sudo rsync -a /backup/pgadmin_lib/ /var/lib/pgadmin/
    • 注意文件权限与所有权(常见为 root:rootpgadmin:pgadmin,以实际安装为准),必要时使用 sudo 调整。
    • 启动/重启 pgAdmin 服务后,检查服务器树是否完整。

五 常见问题与最佳实践

  • 大对象与性能:包含 大对象(BLOB) 时务必使用 -Fc -b 归档;大数据量建议分表/分批恢复,避免长事务与锁竞争。
  • 版本策略:跨版本迁移先小范围演练;若目标库版本较低,优先尝试 pg_dump -F c | pg_restore 并在测试环境验证对象兼容性。
  • 校验与回滚:迁移后执行 行数对比、主键/唯一约束校验、抽样查询;保留源库备份直至业务验证通过。
  • 安全性:备份文件可能含敏感数据,传输与存放过程使用 加密与最小权限;避免明文密码出现在命令历史中(可使用 ~/.pgpass 或环境变量)。

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


若转载请注明出处: pgAdmin在Ubuntu上如何迁移数据库
本文地址: https://pptw.com/jishu/759270.html
Ubuntu中pgAdmin插件如何安装 Ubuntu下pgAdmin日志如何查看

游客 回复需填写必要信息