pgAdmin在Ubuntu上如何迁移数据库
导读:在 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.backup 或 mydb.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:root 或 pgadmin:pgadmin,以实际安装为准),必要时使用 sudo 调整。
- 启动/重启 pgAdmin 服务后,检查服务器树是否完整。
- 备份配置与数据目录(默认位置):
五 常见问题与最佳实践
- 大对象与性能:包含 大对象(BLOB) 时务必使用 -Fc -b 归档;大数据量建议分表/分批恢复,避免长事务与锁竞争。
- 版本策略:跨版本迁移先小范围演练;若目标库版本较低,优先尝试 pg_dump -F c | pg_restore 并在测试环境验证对象兼容性。
- 校验与回滚:迁移后执行 行数对比、主键/唯一约束校验、抽样查询;保留源库备份直至业务验证通过。
- 安全性:备份文件可能含敏感数据,传输与存放过程使用 加密与最小权限;避免明文密码出现在命令历史中(可使用 ~/.pgpass 或环境变量)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: pgAdmin在Ubuntu上如何迁移数据库
本文地址: https://pptw.com/jishu/759270.html
