MigratorXpress
What is MigratorXpress?
MigratorXpress is a CLI tool for database migrations between platforms. It translates schemas, transfers data, copies constraints, and validates results -- all from a single command. Under the hood it uses FastTransfer for streaming data transfer, so datasets of any size move without saturating memory.
Architecture
MigratorXpress connects three databases during a migration:
Source Database
The database you are migrating from. MigratorXpress reads schema metadata, profiles column types, and streams table data from the source.
Supported sources: Oracle, PostgreSQL, SQL Server, Netezza.
Target Database
The database that receives the translated schema and data. MigratorXpress creates tables, loads data via FastTransfer, and optionally copies constraints.
Supported targets: PostgreSQL, SQL Server.
Migration Tracking DB
A SQL Server database where MigratorXpress logs every migration step -- table discovery, translation, transfer status, diff results, and constraint operations. This enables auditing, monitoring, and resuming failed migrations.
Key features
- Cross-platform -- native binaries for Windows and Linux.
- Multi-database -- Oracle, PostgreSQL, SQL Server, and Netezza as sources; PostgreSQL and SQL Server as targets.
- Dual-level parallelism -- migrate multiple tables at once with
--n_jobsand partition large tables internally with--fasttransfer_p. - Schema translation -- automatic DDL conversion between database dialects.
- Data validation -- the
difftask compares row counts and content between source and target. - Flexible task management -- run any combination of
translate,create,transfer,diff,copy_pk,copy_ak,copy_fk, or use--task_list all.
Supported migration paths
| Database | As Source | As Target | Migration Tracking |
|---|---|---|---|
| Oracle | ✅ | ❌ | ❌ |
| PostgreSQL | ✅ | ✅ | ❌ |
| SQL Server | ✅ | ✅ | ✅ |
| Netezza | ✅ | ❌ | ❌ |
Quick example
A full Oracle-to-PostgreSQL migration on Linux:
./MigratorXpress --auth ./credentials.json \
--source_db_auth_id oracle_prod \
--source_db_name ORCL \
--source_schema_name SALES \
--target_db_auth_id postgres_dev \
--target_db_name analytics \
--target_schema_name sales_copy \
--migration_db_auth_id ms_mig_log \
--n_jobs 2 \
--fasttransfer_p 2 \
--drop_tables_if_exists true \
--task_list translate create transfer diff
This single command translates the Oracle SALES schema to PostgreSQL DDL, creates the tables, streams the data with two parallel workers per table, and validates the result with a diff.
Data transfer with FastTransfer
MigratorXpress delegates all data movement to FastTransfer, which uses a streaming architecture. Rows flow directly from source to target without being buffered entirely in memory. This design handles tables with billions of rows on modest hardware and avoids the out-of-memory failures common with dump-and-load approaches.