Ubuntu上pgAdmin如何进行数据迁移
Ubuntu上使用pgAdmin进行数据迁移的完整步骤
一、准备工作
在开始迁移前,需完成以下基础准备:
- 安装pgAdmin:若尚未安装,可通过
sudo apt install pgadmin4
命令安装最新版pgAdmin 4(支持Web界面,更便捷)。 - 确认版本兼容性:确保源服务器与目标服务器的PostgreSQL版本一致或兼容(如无特殊需求,建议版本相同)。
- 权限检查:用于迁移的用户需具备源数据库的读权限(导出数据)和目标数据库的写权限(导入数据),通常需
postgres
超级用户或具有相应权限的角色。
二、导出源数据库数据(图形界面方式)
- 连接源数据库:打开pgAdmin,在左侧“浏览器”面板中右键点击“服务器”,选择“创建”→“服务器”,输入源数据库的主机名/IP、端口(默认5432)、用户名/密码,点击“保存”后连接。
- 启动导出流程:在左侧导航树中展开源服务器,找到并右键点击要迁移的数据库,选择“任务”→“导出”。
- 配置导出选项:
- 格式选择:优先选择“自定义格式(.dump)”(支持压缩、保留权限及大对象),若需跨数据库迁移可选“纯SQL格式(.sql)”;
- 导出内容:勾选“结构”(表结构、视图、函数等)和“数据”(表中数据);
- 文件路径:点击“浏览”选择本地保存路径(如
/home/ubuntu/mydb_backup.dump
)。
- 开始导出:点击“确定”,等待进度条完成,导出成功后会提示“导出已完成”。
三、传输备份文件至目标服务器
使用scp
(安全拷贝)工具将备份文件从源Ubuntu服务器复制到目标服务器。例如:
scp /home/ubuntu/mydb_backup.dump ubuntu@target_server_ip:/home/ubuntu/
ubuntu@target_server_ip
:目标服务器的用户名和IP地址;/home/ubuntu/
:目标服务器上的保存路径(需提前创建)。
四、导入数据至目标数据库(图形界面方式)
- 连接目标数据库:在pgAdmin中右键点击“服务器”,选择“创建”→“服务器”,输入目标数据库的连接信息(如主机名
localhost
、端口5432
、用户名postgres
),点击“保存”后连接。 - 创建目标数据库:在左侧导航树中展开目标服务器,右键点击“数据库”,选择“创建”→“数据库”,输入数据库名称(如
mydb_target
),点击“保存”。 - 启动导入流程:在左侧导航树中展开目标服务器→“数据库”→目标数据库(如
mydb_target
),右键点击,选择“任务”→“导入”。 - 配置导入选项:
- 选择文件:点击“浏览”找到之前传输的备份文件(如
/home/ubuntu/mydb_backup.dump
); - 格式匹配:确保“格式”与导出时的格式一致(如“自定义”或“纯SQL”);
- 目标数据库:确认已选择刚创建的目标数据库。
- 选择文件:点击“浏览”找到之前传输的备份文件(如
- 开始导入:点击“确定”,等待进度条完成,导入成功后会提示“导入已完成”。
五、验证迁移结果
- 连接目标数据库:通过pgAdmin或命令行(
psql -h localhost -U postgres -d mydb_target
)连接到目标数据库。 - 检查数据完整性:
- 查看表结构:右键点击表名→“查看/编辑数据”→“所有行”,确认字段与源数据库一致;
- 抽样数据:执行
SELECT * FROM table_name LIMIT 10;
,核对源数据库中的数据是否完整; - 检查功能:运行存储过程、触发器或视图,确保功能正常。
六、注意事项
- 备份优先:迁移前务必备份源数据库(可使用
pg_dump
命令额外备份),防止操作失误导致数据丢失。 - 大对象处理:若数据库包含大对象(如图片、视频),需使用“自定义格式(.dump)”导出,避免数据截断。
- 字符集一致性:导出时指定字符集(如
--encoding UTF8
),确保目标数据库字符集与源数据库一致,避免乱码。 - 权限同步:若目标数据库的用户权限与源数据库不同,需手动调整(如通过
GRANT
语句赋予权限)。 - 版本差异:若版本差异较大(如源为12.x,目标为15.x),建议先在测试环境验证,避免兼容性问题。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!