What is MigratorXpress?
MigratorXpress is a command-line tool designed to simplify database migrations between different platforms. Whether you’re moving from Oracle to PostgreSQL, SQL Server to PostgreSQL, or between other supported databases, MigratorXpress handles the complex translation of data types, schema structures, and ensures your data arrives intact. Built on top of FastTransfer, it combines intelligent schema translation with high-performance parallel data transfer to make large-scale migrations both reliable and efficient.
Key Features
- Cross-Platform: Runs on both Windows and Linux with native binaries
- Multi-Database Support: Migrate from Oracle, PostgreSQL, SQL Server, and Netezza to PostgreSQL or SQL Server
- Dual-Level Parallelism: Table-level parallelism (multiple tables simultaneously) and within-table parallelism (FastTransfer partitioning) for maximum speed
- Schema Translation: Automatic conversion of database objects between platforms
- Data Validation: Built-in diff capabilities to ensure data integrity
- Flexible Task Management: Run specific migration tasks as needed
Quick Example
Windows (PowerShell)
.\MigratorXpress.exe --auth ./credentials.json `
--source_db_auth_id oracle_prod `
--source_schema_name SALES `
--target_db_auth_id postgres_dev `
--target_schema_name sales_copy `
--fasttransfer_dir_path ./FastTransfer_win-x64_v0.12.4/ `
--migration_db_auth_id ms_mig_log `
--n_jobs 2 `
--fasttransfer_p=2 `
--drop_tables_if_exists true `
--task_list translate create transfer diff
Linux
./MigratorXpress --auth ./credentials.json \
--source_db_auth_id oracle_prod \
--source_schema_name SALES \
--target_db_auth_id postgres_dev \
--target_schema_name sales_copy \
--fasttransfer_dir_path ./FastTransfer_linux-x64_v0.12.4/ \
--migration_db_auth_id ms_mig_log \
--n_jobs 2 \
--fasttransfer_p=2 \
--drop_tables_if_exists true \
--task_list translate create transfer diff
Supported Migration Paths
| Database Type | As Source | As Target | Migration Log |
|---|---|---|---|
| SQL Server | ✅ Supported | ✅ Supported | ✅ Supported |
| PostgreSQL | ✅ Supported | ✅ Supported | ❌ Not Supported |
| Oracle | ✅ Supported | ❌ Not Supported | ❌ Not Supported |
| Netezza | ✅ Supported | ❌ Not Supported | ❌ Not Supported |
Getting Started
- Download the Binary: Get the latest MigratorXpress binary for your platform
- Download FastTransfer: Required for data transfer operations (platform-specific)
- Prepare Credentials: Create a JSON file with your database credentials
- Run Your First Migration: Follow our Quick Start Guide
Why MigratorXpress?
Speed
- Optimized for Enterprise: Designed for large servers with high network bandwidth and fast storage
- Table-Level Parallelism: Process multiple tables simultaneously using
--n_jobsparameter - Within-Table Parallelism: FastTransfer partitions large tables for parallel data transfer using
--fasttransfer_p - Efficient Bulk Operations: Maximum throughput for large-scale migrations
Reliability
- Table-Level Processing: Each table is processed independently - if one fails, others continue
- Comprehensive Logging: Detailed migration logs track success/failure status for each table
- Graceful Error Handling: Failed tables are logged with reasons (e.g., unsupported data types)
Flexibility
- Granular task control
- Support for partial migrations
- Schema and data-only migration options
Data Transfer with FastTransfer
The data transfer step uses FastTransfer, a highly optimized tool that implements streaming data transfer. This streaming approach means:
- No Memory Saturation: Data flows directly from source to target without being stored in memory
- Continuous Flow: Records are read, transformed, and written in a continuous stream
- Scalable Performance: Can handle tables of any size without memory constraints
- Highly Optimized: Written in C# for maximum performance and efficiency
This streaming architecture ensures that even massive tables (billions of rows) can be transferred reliably without overwhelming system resources. The --fasttransfer_p parameter allows you to partition large tables for parallel streaming, multiplying throughput while maintaining the memory-efficient streaming approach.