如何使用pgAdmin进行数据库迁移
导读:使用pgAdmin进行数据库迁移的详细步骤 一、迁移前准备工作 确认环境兼容性:确保源服务器与目标服务器的PostgreSQL版本兼容(如无特殊需求,建议版本一致);pgAdmin版本需支持源/目标服务器的PostgreSQL版本。 安装...
使用pgAdmin进行数据库迁移的详细步骤
一、迁移前准备工作
- 确认环境兼容性:确保源服务器与目标服务器的PostgreSQL版本兼容(如无特殊需求,建议版本一致);pgAdmin版本需支持源/目标服务器的PostgreSQL版本。
- 安装并配置pgAdmin:
- 若目标服务器未安装pgAdmin,可通过以下方式安装:
- CentOS:使用
yum安装(sudo yum install pgadmin4-web),修改配置文件/usr/lib/python2.7/site-packages/pgadmin4-web/config_distro.py中的SERVER_MODE = False,并通过浏览器访问http://< 服务器IP> :80登录; - Debian/Ubuntu:通过
apt安装或下载Docker镜像(docker pull dpage/pgadmin4)运行容器。
- CentOS:使用
- 配置防火墙:开放pgAdmin默认端口(80或5050),允许远程访问。
- 若目标服务器未安装pgAdmin,可通过以下方式安装:
- 备份源数据库:迁移前务必使用
pg_dump命令或pgAdmin的“备份”工具创建源数据库的完整备份(如pg_dump -U username -h hostname -p port database_name > backup_file.sql),防止数据丢失。
二、通过pgAdmin GUI执行迁移(逻辑备份法)
1. 从源服务器导出数据库
- 连接源服务器:打开pgAdmin,在左侧“Servers”面板右键点击“Add Server”,填写源服务器的名称(自定义)、主机名/IP、端口(默认5432)、用户名/密码,点击“Save”并连接。
- 选择目标数据库:展开源服务器树形结构,找到要迁移的数据库,右键点击它,选择“Backup”。
- 配置导出选项:
- 在“Filename”栏输入备份文件路径(如
/home/user/source_db_backup.sql); - “Format”选择“Plain”(SQL格式,兼容性最强);
- “Options”标签页:勾选“Only schema”(仅导出结构,如表、视图)或取消勾选(导出结构+数据),根据需求调整。
- 在“Filename”栏输入备份文件路径(如
- 开始导出:点击“Backup”按钮,等待导出完成,生成包含
CREATE TABLE、INSERT等语句的SQL文件。
2. 将备份文件传输到目标服务器
使用scp(安全复制)工具将源服务器的备份文件传输到目标服务器。例如:
scp /home/user/source_db_backup.sql user@target_server_ip:/home/user/
输入目标服务器用户的密码,完成文件传输。
3. 向目标服务器导入数据库
- 连接目标服务器:在pgAdmin的“Servers”面板右键点击“Add Server”,填写目标服务器的连接信息(同源服务器步骤),点击“Save”并连接。
- 创建目标数据库:展开目标服务器树形结构,右键点击“Databases”节点,选择“Create” >
“Database”,在“General”标签页输入数据库名称(如
target_db),点击“Save”。 - 恢复备份文件:右键点击目标数据库,选择“Restore”,在“Filename”栏浏览并选择传输过来的备份文件(
source_db_backup.sql);“Format”选择“Plain”;“Options”标签页勾选“Pre-data”“Data”“Post-data”(确保导入结构、数据及后续对象,如索引、函数),点击“Restore”开始恢复。
4. 验证数据完整性
- 检查表数量:在源数据库和目标数据库中分别执行
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema NOT IN ('pg_catalog', 'information_schema');,对比表的个数。 - 抽样数据检查:选取关键表(如
users、orders),在源/目标数据库中执行SELECT * FROM table_name LIMIT 10;,对比数据内容是否一致。
三、注意事项
- 权限问题:确保pgAdmin连接源/目标服务器的用户具有足够的权限(如
BACKUP、RESTORE、创建数据库)。 - 大文件处理:若备份文件过大(超过1GB),建议使用
pg_dump的--format=custom选项生成压缩格式(.dump),再用pg_restore恢复,提升速度。 - 版本差异:若源/目标PostgreSQL版本差异较大(如12→15),需在导出时添加
--column-inserts选项(生成带列名的INSERT语句),避免版本兼容性问题。 - 网络稳定性:传输备份文件时,建议使用
rsync(支持断点续传)替代scp,减少传输失败风险。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何使用pgAdmin进行数据库迁移
本文地址: https://pptw.com/jishu/743760.html
