说明:
1、pg_dump为greenplum数据库自带工具,可直接使用
2、这里使用gp1作为源greenplum数据库标识,gp2作为目标数据库标识
3、pg_dump为greenplum提供的非并行数据迁移工具,所以整个操作过程只需要在两个集群的主节点即可
4、pg_dump会将迁移的数据从segment节点拉到master主节点,所以需要注意一次迁移的数据量,防止主节点磁盘爆满
步骤:
1、gp1执行转储命令
pg_dump -U gpadmin -h gp1 -p 5432 -d byt -f /data/pg_dump/byt.sql
-U 数据库用户明
-h 数据库主机IP
-p 数据库端口 默认5432
-d 需要转储的数据库名
-f 文件存储路径及文件名(路径要存在)
2、将 /data/pg_dump/byt.sql 迁移到gp2的主节点相同位置
3、确保 gp2 中的目标数据库为新建空数据库,以防表结构不一致导致错误、丢失数据
4、pg2执行恢复数据命令
psql -U gpadmin -h gp1 -p 5432 byt -f /data/pg_dump/byt.sql
-U 数据库用户明
-h 数据库主机IP
-p 数据库端口 默认5432
byt 目标集群中的数据库名
-f 备份文件
关于Greenplum数据迁移工具还有 gpbackup\gprestore、gpcopy等工具,他们似乎更强大,详情可查看官网:
gpbackup\gprestore >>> https://docs.vmware.com/en/VMware-Tanzu-Greenplum-Backup-and-Restore/1.24/tanzu-greenplum-backup-and-restore/GUID-admin_guide-managing-backup-main.html
gpcopy >>> https://docs.vmware.com/en/VMware-Tanzu-Greenplum-Data-Copy-Utility/2.3/tanzu-greenplum-copy/GUID-index-gpcopy.html
本文来源:https://blog.csdn.net/DraGon_HooRay/article/details/125748641