Quick Start
Simulate Time Series Scenarios
Standard Cluster Deployment
Data Modeling
Connecting to The database
Data Writing
Data Migration
Data Query
Scene Application Examples
Federal Query
Maintenance and Monitoring
Global Maintenance
Partition Maintenance
Backup and Restore
Cluster Expansion
Monitoring
Performance Tuning
Troubleshooting
Reference Guide
Tool Guide
Data Type
Storage Engine
Execution Engine
Configuration Parameters
SQL Reference
FAQ
Starting from version 4.3, MatrixGate supports migration mode, enabling high-speed data migration from Greenplum 5, Greenplum 6, and YMatrix clusters into the current YMatrix cluster.
High-speed migration allows data to bypass the Master node. Data is read directly from the source cluster's Segments, forwarded through mxgate, and sent directly to the target cluster's Segments. This eliminates the bottleneck of a single Master node.
The number of Segments in the source and target clusters can differ.
_1693981479.png)
Single-table migration transfers all data from a specified table. Example usage:
mxgate --source transfer \
--src-host 172.31.41.7 \
--src-port 5432 \
--src-db postgres \
--src-user ec2-user \
--src-password abc \
--src-schema public \
--src-table trans_ao \
--compress "gzip" \
--port-base 9129 \
--local-ip 172.31.33.128 \
--db-database ttt \
--target public.trans_ao \
--format text \
--time-format raw \
--use-auto-increment=false
Parameters:
| Parameter | Description |
|---|---|
| --source | Functional entry point; must be set to 'transfer' |
| --src-host | IP address of the source cluster's master |
| --src-port | Port number of the source cluster's master |
| --src-user | Username for connecting to the source database (superuser is recommended) |
| --src-password | Connection password |
| --src-schema | Schema name of the source table |
| --src-table | Name of the source table |
| --compress | Data transfer method from source segment hosts to this machine: Empty string "": no compression, plain text transfergzip: use gzip compression; requires the gzip Linux command installed on source segment hostslz4: use lz4 compression; requires the lz4 Linux command installed on source segment hostsRecommended order: lz4 > gzip > no compression |
| --port-base | Range of ports used during transfer starts from 9129 |
| --local-ip | Must be an IP address reachable from the source cluster |
| --db-database | Target database name where the destination table resides |
| --target | Target table name in the format <schema>.<table>; if schema is omitted, defaults to public |
| --format | text or csv. Use csv only when data contains complex strings (e.g., newlines, quotes, delimiters). Otherwise, prefer text |
| --time-format | Must be raw in transfer mode |
| --use-auto-increment | By default, mxgate skips serial auto-increment columns in the target table. Use this option to disable that behavior |
Another use of migration mode is to quickly export data to files:
mxgate --source transfer \
--src-host 172.31.41.7 \
--src-port 5432 \
--src-db postgres \
--src-user ec2-user \
--src-schema public \
--src-table trans_ao_1 \
--compress "lz4" \
--port-base 9129 \
--local-ip 172.31.33.128 \
--save-to-dir /tmp/receive/ \
--db-database ttt \
--transform nil \
--writer nil \
--target trans_ao
Use the --save-to-dir parameter to specify the file storage path.
Note: Even when exporting to files, you must provide
--db-databaseand--targetto specify the target database and table, and the target database and table must exist.
Filtered migration uses the --src-sql parameter to specify a SQL query that filters the data to be migrated. This works for both table-to-table and table-to-file migrations:
mxgate --source transfer \
--src-host 172.31.41.7 \
--src-port 5432 \
--src-db postgres \
--src-user ec2-user \
--src-sql "select * from demo where c1 = 'xxxx'" \
--compress "lz4" \
--port-base 9129 \
--local-ip 172.31.33.128 \
--save-to-dir /tmp/receive/ \
--db-database ttt \
--transform nil \
--writer nil \
--target trans_ao
For a complete list of mxgate migration tool parameters, see mxgate.