一、准备工作
yum
)安装pgAdmin,或下载官方安装包手动配置。例如,使用sudo yum install pgadmin4
安装。SELECT
权限,对目标数据库有CREATE
、INSERT
权限;迁移前使用pg_dump
或pgAdmin的“备份”功能备份源数据库,防止数据丢失。二、使用pgAdmin图形界面迁移(适合小规模数据)
导出数据(源数据库→文件)
/tmp/backup.sql
或目标服务器共享目录),点击“OK”完成导出。导入数据(文件→目标数据库)
CREATE DATABASE target_db;
),选择“Import Data”。/tmp/backup.sql
),确认“Format”与导出时一致。可选:数据同步(可选步骤)
三、使用命令行工具迁移(适合大规模数据,效率高)
使用pg_dump/pg_restore(逻辑备份/恢复)
pg_dump -U postgres -h 源服务器IP -p 5432 源数据库名 -f /tmp/backup.sql
(-U
指定用户名,-h
指定源服务器IP,-p
指定端口,默认5432,-f
指定输出文件)。scp
将备份文件传输到目标服务器,例如scp /tmp/backup.sql 目标用户@目标服务器IP:/tmp/
。psql -U postgres -h 目标服务器IP -p 5432 目标数据库名 -f /tmp/backup.sql
(-f
指定输入文件)。使用pg_dumpall(迁移整个集群)
pg_dumpall
:在源服务器执行pg_dumpall -U postgres -h 源服务器IP -p 5432 -f /tmp/all_databases.sql
。psql -U postgres -h 目标服务器IP -p 5432 -f /tmp/all_databases.sql
(无需提前创建数据库,pg_dumpall
会自动创建)。四、注意事项
pg_dump
的版本是否支持目标版本)。pg_dump
的--snapshot
选项创建一致性快照。SELECT COUNT(*) FROM 关键表
、SELECT * FROM 关键表 LIMIT 10
等查询,验证数据数量和内容是否与源数据库一致;同时测试应用程序是否能正常连接目标数据库。