gpcopy version 2.0 is a major release that introduces these new and changed features:
- Improved performance when copying database objects from a source to a destination Greenplum system.
- Running multiple, concurrent instances of gpcopy is now supported. You must ensure that the host systems have sufficient resources.
- Improved output when performing a gpcopy operation.
- During a gpcopy operation, gpcopy displays and logs the amount of data transferred and the transfer rate every 10 minutes.
- After a gpcopy operation completes, gpcopy displays and logs the total amount of data transferred and the transfer rate, and the data transferred and transfer rate for each segment instance.
- Improved support for copying these objects with dependencies when copying a database
with the --dbname option, or when copying database objects with options
such as --include-table or --exclude-table:
Note: When copying database objects with options such as --include-table or --exclude-table, gpcopy does not automatically copy the dependent table. The dependent table must be included as part of the gpcopy operation.
- Tables that inherit other tables.
- Tables defined with foreign keys.
Note: Foreign keys are not supported by Greenplum Database, however the syntax is allowed when creating a table.
- Support for copying materialized view definitions when specifying the --full option. gpcopy does not copy materialized view data, only the materialized view definition.
- Support for single character versions of these options:
-a | --analyze -t | --include-table -d | --dbname -T | --include-table-file -D | --dest-dbname -m | --metadata-only -e | --exclude-table -o | --on-segment-threshold -E | --exclude-table-file -p | --parallelize-leaf-partitions -F | --full -v | --validate -h | --help
- The --enable-receive-daemon option supports using a single port when destination hosts receive data from source hosts. The default is true, use a single port. This limits the number of open ports required on destination hosts when performing a gpcopy operation.
- The --dest-mapping-file lets you list the destination Greenplum Database host names and their corresponding IP addresses. Use this option if gpcopy cannot resolve the destination host names to their corresponding IP addresses.
- The --dumper option (Beta) specifies the utility to generate DDL. The
default value is pgdump. As an alternative, you can specify
gpbackup. If you specify gpbackup,
gpbackup 1.16.0 or later must be installed on your source system.
Warning: The --dumper option is a Beta feature and is not supported in a production environment.
- : Running gpcopy with the --dry-run option incorrectly created the target database.
- : For gpcopy 1.6.0, there were significant performance issues for some catalog queries performed by gpcopy. Performance for these queries has been improved.
-  gpcopy failed when the target and destination segment hosts were on a DCA system.
-  gpcopy failed with an out of memory error when a copy operation attempted to copy partitioned tables that were defined with a large number of partitions and a large number of columns. gpcopy has improved how it manages copying the child partitions of the specified type of partitioned tables.
Known Issues and Limitations
- The sql: JSON key, used with the --include-table-json option, is compatible only with Greenplum Database version 5.20 and later.