支持:
1、2个集群之间传输:
①从本地集群(bass_local)向对端集群(bass_remote)传输。
②在本地集群(bass_local)从对端集群(bass_remote)获取。
2、1个集群内部传输:在集群内的两个数据库(bass_local1、bass_local2)之间传输.。
两个集群之间传输,举例如下:
①从本地集群(bass_local)向对端集群(bass_remote)传输
nohup gptransfer -f local_tb_list --source-map-file=local_host_map_file -a --dest-host=mdw_16 --dest-database=bass_tf --truncate --batch-size=3 --delimiter=^ > gptransfer.log.20150923 &
说明:
1、local_tb_list:本地传输的表,示例如下
bass_gp.dwmid.tm_gsm_opponent_mon
bass_gp.dwstr.tf_mon_05001_gsm_07
2、local_host_map_file本地segment主机列表、IP(万兆网IP),示例如下
sdw1,152.56.73.69
sdw2,152.56.73.70
...
...
sdw42,152.56.73.110
3、--batch-size=3 表示并行度为3,每次传输3张表
4、--delimiter=^ 表示导出、导入的分隔符为"^",这样可以避免表数据中含有分隔符的风险(因为^符号较少用作数据内容)
②在本地集群(bass_local)从对端集群(bass_remote)获取
nohup gptransfer --source-host=mdw --source-port=5432 --source-user=gpadmin -f source_tb_list_dwifc --source-map-file=source_host_map_file -a --dest-host=gpm --dest-port=5432 --dest-database=bass_gp --truncate --batch-size=3 --delimiter=^ > gptransfer.log.20151027 &
gptransfer
{ --full |
[-d database1[ -d database2... ]]
[-t db.schema.table[ -t db1.schema1.table1... ]]
[-f table-file] }
[--delimiter delim]
[--skip-existing | --truncate | --drop]
[--analyze] [--validate=type] [-x] [--dry-run]
[--schema-only ]
[--source-host=source_host[--source-port=source_port]
[--source-user=source_user]]
[--base-port=base_gpfdist_port]
[--dest-host=dest_host--source-map-file=host_map_file[--dest-port=port] [--dest-user=dest_user] ]
[--dest-database=dest_database_name]
[--batch-size=batch_size] [--sub-batch-size=sub_batch_size]
[--timeout=seconds]
[--max-line-length=length]
[--work-base-dir=work_dir] [-l log_dir]
[-v | --verbose]
[-q | --quiet]
[-a]
gptransfer --version gptransfer -h | -? | --help