在 Linux 下使用 pgAdmin 迁移 PostgreSQL 数据,常见有几种方式,取决于你是整库迁移、部分表迁移,还是跨服务器迁移。下面按使用频率和场景给你说明。
源库导出
Custom 或 Directory(推荐 Custom)/tmp/db_backup.dump目标库导入
.dump 文件✅ 适合:
public)⚠️ 不推荐高版本 → 低版本
✅ 低版本 → 高版本一般没问题
如果版本差距大:
Plain SQL 格式pg_dump 命令行pgAdmin 底层也是调用这些命令。
pg_dump -U username -h localhost -F c -b -v -f db.dump dbname
pg_restore -U username -h localhost -d dbname -v db.dump
pgAdmin 不能直接迁 需要:
ora2pg(Oracle)mysql_fdw + 脚本❌ 权限问题
Permission denied
解决:
chmod 777 /tmp/db.dump
或放到当前用户目录
❌ 字符集不一致
确保:
SHOW server_encoding;
| 场景 | 推荐方式 |
|---|---|
| 整库同版本 | pgAdmin Backup/Restore |
| 大库 | 命令行 pg_dump |
| 跨服务器 | dump 文件 + scp |
| 部分表 | Schema Backup |
| 异构库 | 工具 + 脚本 |
如果你能告诉我:
我可以直接给你最适合你当前环境的迁移命令或步骤。