ubuntu pgadmin数据迁移方法
导读:Ubuntu 下使用 pgAdmin 进行 PostgreSQL 数据迁移 一 迁移方式总览 图形化方式:使用 pgAdmin 的“备份/恢复”与“导入/导出”向导,适合中小规模、一次性迁移或跨机器搬迁。支持导出为 SQL 脚本 或 自定...
Ubuntu 下使用 pgAdmin 进行 PostgreSQL 数据迁移
一 迁移方式总览
- 图形化方式:使用 pgAdmin 的“备份/恢复”与“导入/导出”向导,适合中小规模、一次性迁移或跨机器搬迁。支持导出为 SQL 脚本 或 自定义格式(-F c),以及按表/查询导出 CSV 等。
- 命令行方式:使用 pg_dump/pg_restore 做全库或按库迁移,适合大对象(如 BLOB)、依赖关系和性能要求更高的场景;也可用 COPY 批量导入/导出 CSV。
- 特殊场景:跨库/异构迁移可用 pgloader;需要近零停机可用 pgsync 做实时同步。
以上方式均为 Ubuntu 上常见且稳定的实践路径。
二 图形化迁移步骤(pgAdmin 4)
- 准备工作
- 在 Ubuntu 上安装并启动 pgAdmin 4:sudo apt update & & sudo apt install pgadmin4;通过浏览器访问并登录。
- 在 pgAdmin 中分别连接到源服务器与目标服务器(确保账号具备相应权限)。
- 方式 A(整库迁移,推荐用于跨版本/跨机器)
- 在左侧导航选择源库 → 右键选择备份(Backup) → 格式选 自定义(.backup) → 勾选需要的对象(如仅数据/结构/大对象)→ 备份到本地文件。
- 将备份文件复制到目标机器(如 scp)。
- 在目标服务器创建空库(同名或新名),右键目标库 → 恢复(Restore) → 选择上一步的 .backup 文件 → 开始恢复。
- 方式 B(表/查询结果迁移,适合增量或局部迁移)
- 导出:在目标库或查询结果界面使用导出(Export),选择 CSV/SQL;CSV 需设置正确的分隔符、编码、是否包含表头。
- 导入:在目标库/目标表使用导入(Import),选择 SQL 脚本 或 CSV;若目标表已存在数据,先清理或选择覆盖策略,避免主键/唯一约束冲突。
- 验证
- 在目标库检查表数量、行数、约束、索引与大对象;抽样查询验证数据一致性。
以上步骤覆盖 pgAdmin 在 Linux/Ubuntu 上的常见导入/导出与备份/恢复路径。
- 在目标库检查表数量、行数、约束、索引与大对象;抽样查询验证数据一致性。
三 命令行迁移步骤(适合大库与自动化)
- 整库备份(自定义格式,保留依赖与大对象)
- pg_dump -U 用户名 -h 源主机 -p 端口 -F c -b -v -f /path/backup.dump 数据库名
- 目标库恢复(先建库,再恢复)
- createdb -U 用户名 -O 属主 -T 模板库 目标库名
- pg_restore -U 用户名 -h 目标主机 -p 端口 -d 目标库 /path/backup.dump
- 全实例/多库迁移
- pg_dumpall -U postgres -f /path/all_databases.sql
- psql -U postgres -f /path/all_databases.sql
- 批量 CSV 导入/导出(服务器端文件路径)
- COPY your_table FROM ‘/path/file.csv’ WITH (FORMAT csv, HEADER true, DELIMITER ‘,’, ENCODING ‘UTF8’);
- COPY (SELECT * FROM your_table) TO ‘/path/file.csv’ WITH (FORMAT csv, HEADER true);
- 适用建议
- 自定义格式(-F c)+ pg_restore 更适合含大对象、外键/视图/函数依赖的库;
- CSV 方式适合表级迁移或ETL流程;
- 跨大版本升级优先用 pg_dump/pg_restore,必要时配合新版本安装与扩展(如 PostGIS)再迁移。
四 特殊场景与工具
- 零停机迁移:使用 pgsync 在源/目标间做实时同步,适合生产环境滚动切换(安装:sudo apt-get install pgsync;编写同步配置后执行 pgsync)。
- 异构迁移:使用 pgloader 从 MySQL/Oracle 等迁移到 PostgreSQL(安装:sudo apt-get install pgloader;编写 .load 配置并执行 pgloader xxx.load)。
- 版本与扩展:跨大版本(如 14→15)建议先安装新版本,再用 pg_dump/pg_restore 或 pg_upgrade;确认 PostGIS/uuid-ossp 等扩展在目标库已安装并启用。
五 注意事项与常见问题
- 权限与安全:执行迁移的数据库用户需具备 CREATE/INSERT/UPDATE 等权限;跨公网传输建议使用 SSL(sslmode=require)。
- 版本兼容:自定义格式备份在相邻大版本间通常兼容;跨多个大版本或含复杂扩展时,先在测试环境演练。
- 目标库准备:恢复前创建同名/同属主的空库;若需覆盖,先评估影响并安排维护窗口。
- 大对象与依赖:含 BLOB/大对象 的库优先用 pg_dump -F c 与 pg_restore;注意对象依赖顺序。
- CSV 细节:统一 分隔符、引号、编码(UTF8) 与 Header;服务器端导入需 PostgreSQL 服务器可访问的文件路径。
- 验证与回滚:迁移后做行数/抽样/校验和验证;保留备份直至业务稳定。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu pgadmin数据迁移方法
本文地址: https://pptw.com/jishu/748184.html
