greenplum gptransfer 参数与示例详解

$ gptransfer --help
命令名称:gptransfer

对于Greenplum Database 4.2及更高版本,gptransfer实用程序
将源Greenplum数据库系统中的数据库中的对象复制到
目的地Greenplum数据库系统中的数据库。

************************************************** ***
概要
************************************************** ***

gptransfer
   { --full |
   { [-d <database1> [ -d <database2> ... ]] | 
   [-t <db.schema.table> [ -t <db1.schema1.table1> ... ]] |
   [-f <table-file> [--partition-transfer | --partition-transfer-non-partition-target]]
   [-T <db.schema.table> [ -T <db1.schema1.table1> ... ]]
   [-F <table-file> ] } }
   [--skip-existing | --truncate | --drop] 
   [--analyze] [--validate=<type> ] [-x] [--dry-run] 
   [--schema-only ]
   [--no-final-count]

   [--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=<dest_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>] 
   [--delimiter=<delim> ]
   [--format=[CSV|TEXT] ]
   [--quote=<character> ]

   [-v | --verbose] 
   [-q | --quiet]
   [--gpfdist-verbose]
   [--gpfdist-very-verbose]
   [-a] 

gptransfer --version 

gptransfer -h | -? | --help 


************************************************** ***
描述
************************************************** ***

gptransfer实用程序从源Greenplum复制数据库对象
数据库系统到目标系统。你可以执行其中一个
以下类型的操作:

*使用--full选项复制Greenplum数据库系统。

  此选项将源系统中的所有用户创建的数据库复制到
  不同的目标系统。如果指定--full选项,则必须
  指定源系统和目标系统。目的地系统
  不能包含任何用户定义的数据库,只能包含默认数据库
  postgres,template0和template1。

*将一组用户定义的数据库表复制到目标系统。
  -f和-t选项复制一组指定的用户定义表和
  表数据,并重新创建表索引。 -d选项复制所有
  用户定义的表和表数据,并重新创建表索引
  来自指定的数据库。

  如果目标系统与源系统相同,则必须
  还使用--dest-database选项指定目标数据库。
  指定目标数据库时,源数据库表是
  复制到指定的目标数据库中。

  对于分区表,您可以指定--partition-transfer或
  --partitiontransfer-non-partition-target选项,带-f选项进行复制
  来自源数据库的分区表的特定叶子分区。
  叶子分区是分区的最低级别分区
  数据库。对于--partition-transfer选项,目标表是
  叶子分区。对于--partition-transfer-non-partition-target
  选项,目标表是非分区表。

如果指定了无效的gptransfer选项集,或者指定了gptransfer选项
源表或数据库不存在,gptransfer返回错误和
退出。没有数据被复制。

在Greenplum数据库系统gptransfer之间复制数据库对象
实用用途:

*源数据库系统上的Greenplum Database实用程序gpfdist。
  不支持gpfdists协议

*源数据库系统上的可写外部表,可读
  目标数据库系统上的外部表。

*命名管道,用于在可写外部表之间传输数据
  和一个可读的外部表。

将数据复制到目标系统时,会重新分配数据
目标系统的Greenplum数据库段。这是
gptransfer复制数据库数据时的数据流:

writable external table > gpfidst > named pipe > gpfdist > readable external table 
 
有关使用gptransfer传输数据的信息,请参阅“迁移”
“Greenplum数据库管理员指南”中的Gp​​transfer数据。


************************************************** ***
笔记
************************************************** ***

gptransfer实用程序可以有效地传输大量表
数据的。由于设置并行传输所需的开销,
建议不要使用该实用程序来传输小表
数据量。复制模式可能更有效
使用其他方法将较小的表传送到目标数据库,例如
SQL COPY命令,然后使用gptransfer传输大表
分批。

在不同的Greenplum数据库系统之间复制数据库数据时,
gptransfer需要一个列出所有源段主机的文本文件
名称和IP地址。使用指定文件的名称和位置
--source-map-file选项。如果文件丢失或不是所有段
列出了主机,gptransfer返回错误并退出。见
文件格式信息选项的描述。

源和目标Greenplum数据库段主机需要
能够相互沟通。确保该段主机
可以通信,你可以使用Linux netperf实用程序等工具。
 
如果已为源Greenplum数据库系统创建了文件空间,
目标系统上必须存在相应的文件空间。

在使用之前,必须在两个系统之间交换SSH密钥
gptransfer。 gptransfer实用程序使用连接到源系统
SSH用于创建命名管道并启动gpfdist实例。您可以
使用Greenplum数据库gpssh-exkeys实用程序以及所有的列表
在Greenplum之间交换密钥的源和目标主要主机
数据库主机。

源系统和目标系统必须能够访问gptransfer
工作目录。默认目录是用户的主目录。您
可以使用--work-base-dir选项指定不同的目录。

gptransfer实用程序不会移动配置文件,例如
postgres.conf和pg_hba.conf。您必须设置目标系统
单独配置。

gptransfer实用程序不会移动外部对象,如Greenplum
数据库扩展,第三方jar文件和共享对象文件。您
必须单独安装外部对象。

gptransfer实用程序不会移动依赖数据库对象,除非
您指定--full选项。例如,如果表具有默认值
作为用户定义函数的列的值,该函数必须
使用-t,-d或-f时,目标系统数据库中存在此数据库
选项。
 
如果使用-d,-t和-f选项移动一组数据库表,
并且目标表或数据库不存在,gptransfer创建
它。在复制数据之前,该实用程序会在表上重新创建任何索引。

如果目标系统上存在表,则其中一个选项
--skip-existing, -  struncate或--drop未指定,gptransfer
返回错误并退出。

如果在复制表或表的过程中发生错误
验证失败,gptransfer继续复制指定的其他
表。 gptransfer完成后,它会显示一个表格列表
发生错误,将失败的表的名称写入文本文件,
然后打印文件的名称。你可以使用这个文件
gptransfer -f选项重试复制表。

包含错误表的列表的文件的名称
发生的是failed_migrated_tables_ <yyyymmdd_hhmmss> .txt。该
<yyyymmdd_hhmmss>是gptransfer过程的时间戳
开始。该文件是在gptransfer目录下创建的
执行。
 
gp_external_max_segs服务器配置参数控制
可以访问单个gpfdist实例的段实例数
同时。设置较低的值可能会影响gptransfer性能。
有关参数的信息,请参阅“Greenplum数据库”
参考指南“。

 
************************************************** ***
来源和目的地系统的局限性
************************************************** ***

如果要从具有大量段的系统复制数据
到系统数量较少的段主机。初级总数
目标系统上的段必须大于或等于
源系统上的段主机总数。

例如,四分之一机架V1 DCA总共有24个主要部分。
这意味着源端不能有超过24个段主机(一个
和半个机架)。

从更大的源Greenplum数据库系统复制数据时
主要段实例的数量,而不是目标系统上的数量
与传输数据传输相比,数据传输可能会更慢
源系统具有比目标系统更少的段实例。
gptransfer实用程序使用不同的命名管道配置
两种情况下的gpfdist实例。
 
 
************************************************** ***
OPTIONS
************************************************** ***

-a 

 安静模式,不提示用户确认。

--analyze

 在非系统表上运行ANALYZE命令。默认是不运行
 ANALYZE命令。

--base-port=<base_gpfdist_port> 

 源段系统上gpfdist的基本端口。如果没有指定,
 默认值是8000。

--batch-size=<batch_size> 

 设置gptransfer并发复制到的表的最大数量
 目的地数据库。如果未指定,则默认值为2.
 最大值是10。

 设置为1时,它将根据订单开始传输所有表
 从-t和-f选项指定。

-d <database>

 要复制的源数据库。可以多次指定此选项
 将多个数据库复制到目标系统。所有用户
 已定义的表和表数据将复制到目标系统。

 可以使用Python正则表达式指定一组数据库
 句法。正则表达式模式必须用斜杠括起来
 (/ RE_pattern /)。如果使用正则表达式,则名称必须为
 用双引号(“)括起来。这个例子-d”demo /.*/“指定全部
 Greenplum数据库安装中以demo开头的数据库。

 注意:-d选项的以下两个示例是等效的。他们
 两者都指定一组以demo开头并以零结尾的数据库
 或更多数字。
  -d“demo / [0-9] * /”
  -d“/ demo [0-9] * /”

 如果源数据库不存在,gptransfer将返回错误并且
 退出。如果目标数据库不存在,则创建数据库。
 对--full,-f,-t或--partition-transfer选项无效。

 或者,指定-t或-f选项以复制指定的一组
 表。

--delimiter=<delim> 

 用于gptransfer创建的可写外部表的分隔符。
 指定单个ASCII字符,用于分隔每行中的列
 数据的。默认值为逗号(,)。如果delim是逗号(,)或if
 未指定此选项,gptransfer使用CSV格式
 可写的外部表。否则,gptransfer使用TEXT格式。

 如果未指定-delimiter, --format, and --quote选项,则这些选项
 是可写外部表的设置:

   FORMAT 'CSV' ( DELIMITER ',' QUOTE E'\001' ) 

 您可以指定分隔符,例如非打印字符
 格式为“\ digits”(八进制)。反斜杠后跟八进制
 角色的价值。八进制格式必须用double括起来
 引号。此示例指定八进制字符\ 001,即SOH
 字符:
   --delimiter="\001" 


--dest-database=<dest_database_name> 

 目标Greenplum数据库系统中的数据库。如果不
 指定后,源表将复制到目标系统中
 与源系统数据库同名的数据库。

 如果源和目标Greenplum数据库需要此选项
 系统是一样的。

 如果目标数据库不存在,则创建它。

 不适用于--full或--partition-transfer选项。


--dest-host=<dest_host> 

 目标Greenplum数据库主机名或IP地址。如果没有指定,
 默认是运行gptransfer的系统的主机(127.0.0.1)


--dest-port=<dest_port> 

 目标Greenplum数据库端口号,如果未指定,则
 默认值是5432。


--dest-user=<dest_user>

 用于连接目标Greenplum数据库的用户标识
 系统。如果未指定,则默认为用户gpadmin。


--drop 

 指定此选项可删除目标中的表
 数据库是否已存在。在复制表数据之前,gptransfer
 删除表并再次创建它。

 最多只能指定其中一个选项--skip-existing,
 --truncate,或--drop。如果未指定其中一个和表
 存在于目标系统中,gptransfer返回错误并退出。
 不适用于--full或--partition-transfer选项。


--dry-run 

 指定此选项时,gptransfer会生成一个列表
 已使用指定执行的迁移操作
 选项。数据未迁移。

 信息显示在命令行中并写入日志
 文件。


-f <table-file>

 包含完全限定表列表的文件的位置和名称
 要从Greenplum数据库源系统复制的名称。在文中
 文件,您为每行指定一个完全限定的表。

 可以使用Python正则表达式指定一组表
 句法。有关使用常规的信息,请参阅-d选项
 表达式。

 如果源表不存在,gptransfer将返回错误并且
 退出。如果目标数据库或表不存在,则为
 创建。

 仅复制表和表数据并重新创建索引。
 不复制从属对象。

 您无法指定视图或系统目录表。 --full选项
 复制用户定义的视图。

 如果指定-d选项以从数据库复制所有表,则为
 无法从数据库中指定单个表。

 与--full,-d或-t选项无效。


 --partition-transfer
     使用-f选项指定此选项以从leaf子级复制数据
     将分区表从源数据库分区到
     目标数据库中的leaf子分区表。

     注意:-f选项指定的文本文件中的内容是
     与没有--partition-transfer的正常表转移不同。
     对于普通表传输,该文件包含完全限定的列表
     表格名称在每一行单独指定,用于传输叶子
     分区表,它包含一对完全限定表的列表
     每行的名字。

     不支持通配符。空行或注释行
     以#(井号)开头将在-f的文本文件中被忽略
     选项。

     每行都列出了一对源叶的完全限定名称
     子分区表和目标的完全限定名称
     以这种格式的子分区表。

         src_db.src_schema.src_table,dest_db.dest_schema.dest_table

     如果源和目标分区表相同,则格式如下
     可以使用。

         transfer_db.transfer_schema.transfer_table

     如果源和目标Greenplum数据库系统是
     同样,你必须指定一个目标表,其中至少有一个
     以下必须与源分区表不同:数据库名称,
     模式名称和表名称。

     如果源表或目标表不是叶子分区,
     该实用程序返回错误,并且不传输任何数据。


     先决条件:

         目标子分区表必须存在。

         每对叶子的这些特征必须相同
         源数据库和目标数据库中的分区表。

             表列数和列数据类型的顺序
             (源表和目标表名称和表列名称
             可以是不同的)。

             指定源表和目标表的分区级别。

             指定源和目标的分区标准
             叶子分区和它们上面的子分区
             层次结构(分区类型和分区列键)。

     此选项对-d, -  last-database,-drop,-F, -  full,无效,
     --schema-only,-T或-t选项。

     注意:如果目标表不为空,则表行计数验证
     因行数不匹配而失败。如果目标表不为空,那么
     可以指定--truncate选项来截断传输表
     操作。

 --partition-transfer-non-partition-target (non-partitioned destination table)

     使用-f选项指定此选项以从leaf子级复制数据
     将源数据库中的分区表分区为非
     目标数据库中的分区表。由...指定的文本文件
     -f选项包含完全限定的叶子分区列表
     源数据库中的表名和中的非分区表名
     具有此语法的目标数据库。

         src_db.src_schema.src_part_tbl,dest_db.dest_schema.dest_tbl

     完全限定的表名称不支持通配符。
     目标表必须存在,源表和目标表都必须存在
     文件中需要名称。如果源表不是叶子
     分区表或目标表不是非分区表
     实用程序返回错误,没有数据传输。如果来源和
     目标Greenplum数据库系统是相同的,您必须指定一个
     目标表,其中至少有一个必须不同
     源表和目标表之间:db_name,schema或table。对于
     源数据库中的分区表和中的表
     目标数据库,表列数和顺序
     列数据类型必须相同(源表和目标表
     列名可以不同)。相同的目标表可以
     在文件中为多个源子分区表指定的
     属于单个分区表。从源叶传输数据
     子分区表属于不同的分区表到
     不支持单个非分区表。

      This option is not valid with these options: -d, --dest-database, --drop,
     -F, --full, --schema-only, -T, -t, --truncate, --validate
     
     
     注意:如果源或目标表中的数据在a期间发生更改
     传输操作(插入或删除行),表行计数
     由于行计数不匹配,验证失败。

     您可以指定-x选项以获取表上的独占锁
     在转移操作期间。

-F <table-file>

 包含完全限定表列表的文件的位置和名称
 要转移到目标系统的名称。在里面
 文本文件,每行指定一个完全限定的表。

 可以使用Python正则表达式指定一组表
 句法。有关使用常规的信息,请参阅-d选项
 表达式。

 该实用程序从表的列表中删除排除的表
 在开始之前转移到目标数据库
 传递。如果排除表格导致没有表格被转移,
 未在目标系统中创建数据库或架构。

 如果源表不存在,gptransfer将显示警告。

 仅排除指定的表。要排除依赖对象,
 你必须明确指定它们。

 您无法指定视图或系统目录表。

 不适用于--full或--partition-transfer选项。

 您可以指定--dry-run选项来测试该命令。 -v选项,
 显示并记录排除的表。


--format=[CSV | TEXT]

 指定由其创建的可写外部表的格式
 gptransfer传输数据。逗号分隔值的值为CSV,
 或纯文本的TEXT。默认值为CSV。

 如果未指定选项--delimiter, -  format和--quote,
 这些是可写外部表的默认设置:

    格式 'CSV' ( DELIMITER ',' QUOTE E'\001' ) 

 如果指定TEXT,则还必须指定非逗号分隔符
 --delimiter = delim选项。这些是可写外部设置
 表:

    格式 'TEXT' ( DELIMITER delim ESCAPE 'off' ) 


--full

 将Greenplum数据库源系统完全迁移到目标
 系统。您必须指定目标系统的选项,即
 --source-map-file选项,--dest-host选项,如果需要,还有
 其他目标系统选项。

 无法使用-t,-d,-f指定--full选项,
 --partition-transfer,或--partition-transfer-non-partition-target选项。

 完整迁移会复制所有数据库对象,包括表,索引,
 所有用户定义的视图,用户,角色,功能和资源队列
 数据库。默认数据库,postgres,template0和template1是
 没动。

 如果目标系统中存在数据库,则除默认值外
 postgres,template0和template1数据库,gptransfer返回错误
 并退出。

 仅当数据库包含大型数据时,才建议使用--full选项
 具有大量数据的表的数量。因为开销
 如果需要设置并行传输,则不建议使用该实用程序
 当数据库包含具有少量数据的表时。更多
 信息,请参阅注释。

--gpfdist-verbose

 将gpfdist进程的日志记录级别设置为verbose(-v)。不可能是
 用--gpfdist-very-verbose指定。输出记录在gpfdist中
 日志中的段主机上的〜/ gptransfer_process_id目录中的日志文件
 源Greenplum数据库集群。

--gpfdist-very-verbose

 将gpfdist进程的日志记录级别设置为非常详细(-V)。不能
 用--gpfdist-verbose指定。输出记录在gpfdist中
 日志中的段主机上的〜/ gptransfer_process_id目录中的日志文件
 源Greenplum数据库集群。

-l <log_dir> 

 指定gptransfer日志文件目录。如果未指定,则为默认值
 是〜/ gpAdminLogs。此目录在主控主机上创建
 源Greenplum集群。

--max-line-length=<length> 

 设置gpfidst允许的最大数据行长度(以字节为单位)
 效用。如果未指定,则默认值为10485760.有效范围为32768
 (32K)至268435456(256MB)。

 当用户数据包含非常宽的行(或行也是行)时应该使用
 发生长错误消息)。不应该因为它增加而使用
 资源分配。

--no-final-count

 禁用gptransfer之后执行的表行计数验证
 完成将数据库对象复制到目标数据库。
 默认设置是比较复制到目标的表的行数
 数据库与源数据库中的表。

-q | --quiet

 如果指定,则禁止状态消息。消息只发送给
 日志文件。


--quote=<character>

 gptransfer创建可写外部表时的引号字符
 使用CSV格式。指定用于的单个ASCII字符
 包含列数据。默认值是八进制字符\ 001,即
 SOH角色。

 您可以指定分隔符,例如非打印字符
 格式为“\ digits”(八进制)。反斜杠后跟八进制
 角色的价值。八进制值必须用double括起来
 引号。


--schema-only

 仅创建该命令指定的模式。数据未传输。

 如果使用--full选项指定,则gptransfer将复制完整
 数据库模式,包括所有表,索引,视图,用户定义
 类型(UDT)和源数据库的用户定义函数(UDF)。
 没有数据传输。

 如果使用-schema-only指定带-t或-f选项的表,
 gptransfer只创建表和索引。没有数据传输。

 与--truncate或--partition-transfer选项无效。

 由于设置并行传输所需的开销,
  - 传输信息时不建议使用--schema-only选项
 大量的表格。有关更多信息,请参阅注释。


--skip-existing

 如果指定,请指定此选项以跳过从源数据库复制表
 该表已存在于目标数据库中。

 最多只能指定其中一个选项--skip-existing,
 --truncate,或--drop。如果未指定其中一个和表
 存在于目标系统中,gptransfer返回错误并退出。

 对--full选项无效。


--source-host=<source_host>

 源Greenplum数据库主机名或IP地址。如果没有指定,
 默认主机是运行gptransfer(127.0.0.1)的系统。


--source-map-file=<host_map_file>

 列出源段主机名和IP地址的文件。如果是文件
 缺少或没有列出所有段主机,gptransfer返回一个
 错误并退出。

 该文件的每一行都包含源主机名和主机IP
 地址用逗号分隔:<hostname>,<IPaddress>。这个例子列出了
 四个Greenplum数据库主机及其IP地址。

  sdw1,172.168.2.1
  sdw2,172.168.2.2
  sdw3,172.168.2.3
  sdw4,172.168.2.4

 如果指定了--full选项或者是,则需要此选项
 源Greenplum数据库系统与目标不同
 系统。如果源系统和目标系统不需要此选项
 是相同的。


--source-port=<source_port>

 源Greenplum数据库端口号。如果未指定,则默认为
 5432。


--source-user=<source_user> 

 用于连接到源Greenplum数据库系统的用户标识。
 如果未指定,则默认为用户gpadmin。


--sub-batch-size=<sub_batch_size>

 指定所执行操作的最大并行度
 迁移表时,例如启动gpfdist实例,创建
 用于移动操作的命名管道。如果未指定,则默认为
 25.最高为50。

 指定--batch-size选项以控制最大表数
 gptransfer同时处理。


-t <db.schema.table>

 从源数据库系统中复制的表。完全合格
 必须指定表名。

 可以使用Python正则表达式指定一组表
 句法。有关使用常规的信息,请参阅-d选项
 表达式。

 如果目标表或数据库不存在,则创建它。这个
 可以多次指定选项以包含多个表。只要
 复制表和表数据并重新创建索引。
 不复制从属对象。

 如果源表不存在,gptransfer将返回错误并且
 退出。

 如果指定-d选项以从数据库复制所有表,则为
 不需要从数据库中指定单个表。

 与--full,-d,-f或--partition-transfer选项无效。


-T <db.schema.table>

 源数据库系统中要从传输中排除的表。该
 必须指定完全限定的表名。

 可以使用Python正则表达式指定一组表
 句法。有关使用常规的信息,请参阅-d选项
 表达式。

 可以多次指定此选项以包含多个表。
 仅排除指定的表。要排除依赖对象,
 你必须明确指定它们。

 该实用程序从表的列表中删除排除的表
 在开始之前转移到目标数据库
 传递。如果排除表格导致没有表格被转移,
 未在目标系统中创建数据库或架构。

 如果源表不存在,gptransfer将显示警告。

 对--full或--partition-transfer选项无效。

 您可以指定--dry-run选项来测试该命令。 -v选项
 显示并记录排除的表。


--timeout <seconds> 

 指定gptransfer传递gpfdist的超时值(以秒为单位)
 gptransfer使用的进程。该值是允许的时间
 Greenplum数据库建立与gpfdist进程的连接。您
 在高流量时操作可能需要增加此值
 网络。

 默认值为300秒(5?分钟)。最小值为2
 秒,最大值为600秒。


--truncate

 指定此选项可截断目标中的表
 数据库是否已存在。

 最多只能指定其中一个选项--skip-existing,
 --truncate,或--drop。如果未指定其中一个和表
 存在于目标系统中,gptransfer返回错误并退出。

 对--full选项无效。


--validate=<type> 

 对表数据执行数据验证。这些是支持的类型
 验证。

  count  - 指定此值以比较source和之间的行数
     目的地表数据。

  md5  - 指定此值以比较源和之间的MD5值
     目的地表数据。

  sha256  - 指定此值以比较源和之间的SHA-256值
     目的地表数据。

 如果表的验证失败,gptransfer将显示该名称
 表并将文件名写入文本文件
  failed_migrated_tables_ <YYYYMMDD_HHMMSS> .txt的。 yyyymmdd_hhmmss是一个
 gptransfer进程启动时的时间戳。该文件已创建
 在目录中执行gptransfer。

 注意:该文件包含验证失败或其他的表名称
 表迁移期间发生错误。


-v | --verbose

 如果指定,则将日志记录级别设置为详细。附加日志
 信息在此期间写入日志文件和命令行
 命令执行。

--work-base-dir=<work_dir> 

 指定gptransfer用于存储临时工作的目录
 PID文件和命名管道等文件。默认目录是
 用户的主目录。

 源系统和目标系统必须能够访问gptransfer
 工作目录。


-x

 在迁移期间获取对表的独占锁定以防止
 插入或更新。

 在源数据库上,gptransfer时获取独占锁
 插入外部表并在验证后释放。

 在目标数据库上,获取独占锁定时
 gptransfer从外部表中选择并在验证后释放。

 注意:如果未指定-x选项并指定了--validate,
 如果将数据插入源或中,则会发生验证失败
 迁移过程中的目标表。 gptransfer实用程序
 如果发生验证错误,则显示消息


-h | -? | --help

 显示在线帮助。


--version

 显示此实用程序的版本。


************************************************** ***
例子
************************************************** ***

此命令从数据库db1和all复制表public.t1
数据库db2中的表到系统mytest2。

 gptransfer -t db1.public.t1 -d db2 --dest-host=mytest2 
    --source-map-file=gp-source-hosts --truncate

如果系统mytest2上不存在数据库db1和db2,则为
被创造了。如果目标上存在任何源表
系统,gptransfer截断表并从中复制数据
源到目标表。


此命令将分区表从源系统复制到目的地系统。

 gptransfer -f input_file --partition-transfer --source-host=source_host
    --source-user=source_user --source-port=source_port
    --dest-host=dest_host --dest-user=dest_user --dest-port=dest_port
    --source-map-file=host_map_file

下面是关于在-f选项的input_file中指定对的示例。
例如,有一个名为“person_1_prt_experienced”的子分区表
在来自源系统的数据库“srcdb”中的模式“people”中:

   CREATE TABLE person(id int, title char(1))
  DISTRIBUTED BY (id)
  PARTITION BY list (title)
  (PARTITION experienced VALUES ('S'),
   PARTITION entry_level VALUES ('J'),
   DEFAULT PARTITION other );

并且在模式中有一个名为“employee_1_prt_seniors”的子分区表
来自目标系统的数据库“destdb”中的“public”:

  CREATE TABLE employee(id int, level char(1))
  DISTRIBUTED BY (id)
  PARTITION BY list (level)
  (PARTITION seniors VALUES ('S'),
   PARTITION juniors VALUES ('J'),
   DEFAULT PARTITION other );

要将数据从“person_1_prt_experienced”复制到“employee_1_prt_seniors”,请指定
在input_file下面:

 srcdb.people.person_1_prt_experienced, destdb.public.employee_1_prt_seniors

*****************************************************
也可以看看
*****************************************************

gpfdist 

有关加载和卸载数据的信息,请参阅“Greenplum
数据库管理员指南“。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盒马coding

你的支持是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值