greenplum dblink 命令同步数据

目录

12.3 dblink 命令同步数据

12.3.1 dblink使用说明

12.3.2 dblink 同步相同集群不同数据库的数据

12.3.3 验证数据的准确性

12.3.4 dblink 使用总结

12.3 dblink 命令同步数据

12.3.1 dblink使用说明

Dblink 可以实现同数据库之间同步数据,也可不同数据库之间同步数据,甚至不同集群之间同步数据,只需要连接远程数据库即可

12.3.2 dblink 同步相同集群不同数据库的数据

12.3.2.1 同步数据语句

drop table if exists dim.test1;

create table dim.test1 with (appendonly = true, compresstype = zlib, compresslevel = 5

,orientation=column, checksum = false,blocksize = 2097152) as

select * from dblink(‘hostaddr=192.168.***.** port=5432 dbname=chin*** password=*****’,

‘SELECT zspid,encode_v1,encode_v2 FROM dim.dim_cif_indmap_xiaoxu’)

AS dbltab(zspid character varying(500),encode_v1 character varying(500),encode_v2 character varying(500))

DISTRIBUTED BY (zspid);

 

时间: 1631.477s

 

受影响的行: 0

 

受影响的行: 182683056

 

 

在以上可以看出用时1631.477s,大约需要27m,简直太慢,扣鸡腿,扣鸡腿……

 

12.3.2.2 查看Master 节点的详细信息

 

12.3.2.3 查看数据节点的详细信息

数据节点一的详细信息

 

 

数据节点二的详细信息

 

 

数据节点三的详细信息

 

12.3.3 验证数据的准确性

select count(*) from dim.test1;

— 182683056

 

select pg_size_pretty(pg_relation_size(‘dim.test1’));

— 27 GB

 

数据的准确性没问题

12.3.4 dblink 使用总结

dblink 因为中间需要映射一张临时表dbltab,在以上的截图中可以看出, master主节点的cpu比较高,数据节点还可以,可以用于比较小的表同步。

    原文作者:小徐xfg
    原文地址: https://blog.csdn.net/xfg0218/article/details/90292992
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞