一、准备工作
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等查询,验证数据数量和内容是否与源数据库一致;同时测试应用程序是否能正常连接目标数据库。