全新Greenplum集群传输工具—GPCOPY 2.1.0正式发布

了解更多Greenplum技术干货,欢迎访问Greenplum中文社区网站

GPCOPY是新一代的支持Greenplum集群之间快速高效传输数据的工具。作为Greenplum集群数据传输的官方首选配套工具,GPCOPY除了具有高速稳定易用的特点外,还支持不同版本Greenplum集群之间的传输(当然支持同版本之间的传输)。GPCOPY支持从GP4.3.x到GP 5.x、GP5.x到GP6.x、甚至GP4.3.x到GP6.x的数据传输。它也同时支持同等规模集群和不等规模集群之间的传输。另外GPCOPY还支持数据的校验,支持事务,增加了数据传输的可靠性。GPCOPY目前还没有开源,最新版本2.1.0在3月9日正式发布上****线,做了很多方面的提升,可以在官网https://network.pivotal.io/products/gpdb-data-copy/下载到。

新功能

1. 支持有外键的表、view以及有继承关系的表

GPCOPY是以表为单位从源数据库中把表的定义及表中数据复制到目标数据库中。

首先GPCOPY拷贝表是支持事务的,如果再拷贝过程中出错则回滚。例如如果目标数据库中不存在要拷贝的表,GPCOPY首先会创建目标表,然后把源表的数据拷贝到目标表,如果在拷贝数据的过程中由于某种原因出错了,则整个表的拷贝会回滚,被创建的目标表不会出现在目标数据库中。

其次,GPCOPY支持并行拷贝多个表。使用–jobs可以指定最多同时拷贝多少个表。–jobs的最大值是由运行GPCOPY机器的性能、源数据库的性能、目标数据库的性能等多个因素共同决定的。并行拷贝表使GPCOPY拥有出色的性能,但是数据库中有些表并不是相互独立存在的,比如有外键的表、view、有继承关系的表都需要依赖其它的表,此时并行拷贝表就会出现问题。在GPCOPY 2.1.0版本之前,这个问题一直存在,例如有两个表:

CREATE TABLE t(id INT PRIMARY KEY,name TEXT);

CREATE TABLE ft(item_id INT NOT NULL, foreign_id INT REFERENCES t(id));

假设目标数据库不存在这两个表,使用GPCOPY 拷贝这个两个表,jobs 的值设置为2。GPCOPY会并行拷贝数据表”t” 和”ft”,并且拷贝“ft”表时会出现如下错误:

[CRITICAL]:-pq: relation “t” does not e

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值