Compatibility
This page describes MigratorXpress v0.7.3.
Supported Databases
| Database | As Source | As Target | Migration Tracking |
|---|---|---|---|
| Oracle | ✅ Supported | ❌ | ❌ |
| PostgreSQL | ✅ Supported | ✅ Supported | ✅ Supported |
| SQL Server | ✅ Supported | ✅ Supported | ✅ Supported |
| Netezza | ✅ Supported | ❌ | ❌ |
Source databases
Any of the four supported databases can serve as a migration source. MigratorXpress reads the schema metadata and data, translates the column data types, and streams rows via FastTransfer.
- Oracle -- thin and thick client modes, Rowid-based parallel extraction
- PostgreSQL -- Ctid-based parallel extraction
- SQL Server -- no intra-table parallel method; use
--n_jobsfor table-level parallelism - Netezza -- NZDataSlice-based parallel extraction
Target databases
SQL Server and PostgreSQL can be migration targets. MigratorXpress translates the column data types for the target, creates the target schema and tables, transfers data, and optionally copies constraints.
- SQL Server -- supports Clustered Columnstore Indexes via
--cci_threshold/--aci_threshold, and foreign key copy with--fk_mode - PostgreSQL -- from Oracle, PostgreSQL and SQL Server sources; schema, table and column names are created in lower case; no
copy_fk
Supported migration paths
| Source → Target | translate / create / transfer / diff | copy_pk / copy_ak | copy_fk |
|---|---|---|---|
| Oracle → SQL Server | ✅ | ✅ | ✅ |
| PostgreSQL → SQL Server | ✅ | ✅ | ✅ |
| SQL Server → SQL Server | ✅ | ✅ | ✅ |
| Netezza → SQL Server | ✅ | ❌ | ❌ |
| Oracle → PostgreSQL | ✅ | ✅ | ❌ |
| PostgreSQL → PostgreSQL | ✅ | ✅ | ❌ |
| SQL Server → PostgreSQL | ✅ | ✅ | ❌ |
| Netezza → PostgreSQL | ❌ | ❌ | ❌ |
Unsupported combinations are rejected at startup, before any connection, with exit code 10: Netezza to PostgreSQL (UNSUPPORTED_SOURCE_TARGET_PAIR), a copy_* task with a Netezza source (CONSTRAINT_COPY_UNSUPPORTED_SOURCE), and copy_fk -- including --task_list all -- with a PostgreSQL target (COPY_FK_UNSUPPORTED_TARGET).
Foreign keys that reference a table in another schema are logged as a warning and not copied: the target foreign keys are created within the target schema.
The exactness of transferred values (binary columns, fractional seconds, time zones) was checked for PostgreSQL and SQL Server sources loaded into PostgreSQL, but not for Oracle sources. Run the diff task and spot-check date, timestamp and binary columns after an Oracle to PostgreSQL migration.
Migration tracking database
The migration tracking database can be SQL Server or PostgreSQL. It stores per-table task status, metadata snapshots, diff results, constraint metadata, and event logs. This database enables the --resume capability and provides a full audit trail. The backend is selected by the ds_type of the entry referenced by --migration_db_auth_id (mssql or postgres); no extra flag is required.
- SQL Server as Migration Tracking -- tracking tables in the default schema (
dbo) - PostgreSQL as Migration Tracking -- tracking tables in the
publicschema
Supported Platforms
| Platform | Architecture |
|---|---|
| Windows | x64 |
| Linux | x64 |
MigratorXpress ships as a native binary for each platform. No runtime installation (Python, Java, .NET) is required. Data transfer requires FastTransfer 0.15.0 or later.
See Also
- Quick Start Guide -- get started in 5 minutes
- CLI Reference -- all command-line options
- Database Configuration -- connection setup for each database type