
Imagine a typical scenario: your company runs on Oracle Database, and over the years, you’ve accumulated tens of terabytes of data. Now you want to move to Postgres Pro — but the migration process quickly turns into a nightmare:
It takes forever to move all the data.
The source system can’t stop — it has to keep running, even though the data is constantly changing.
There’s a real risk of data loss or corruption — from transmission errors to type mismatches and other gremlins.
We decided to tackle these problems head-on and created ProGate, a toolkit that makes life a lot easier for DBAs and speeds up the migration to Postgres Pro.

What’s ProGate?
ProGate is an all-in-one solution for moving data into Postgres Pro. It’s a set of specialized tools that cover every step of the migration process:
ProCopy — high-speed initial data load.
ProSync — continuous change synchronization (CDC — Change Data Capture).
ProCheck — post-migration data quality and integrity checks.
Let’s go through them one by one.
Step 1. Initial data load with ProCopy
ProCopy is a console utility for blasting large amounts of data into Postgres Pro as fast as possible — without having to stop the source system. That means minimal downtime and minimal impact on running applications.
In our recent synthetic tests, we reached 200–500 MB/sec for Oracle → Postgres Pro migrations, which works out to about 41 TB/day. For PostgreSQL → Postgres Pro, we hit around 1 GB/sec.
How does it work
ProCopy is written in Go, so it’s lightweight, highly concurrent, and ready to chew through databases of any size. Under the hood, it uses:
A pool of parallel read/write processes.
An internal data bus for fast process communication.
Robust error handling with retries for problematic records.
ProCopy use case
Say you’ve got a CUSTOMERS table in Oracle with billions of rows. With ProCopy, you can:
Run the migration in parallel, tuning the number of reader/writer processes and batch sizes.
Exclude unnecessary columns.
Rename columns or change their data types.
Transform
NULL
s into default values on the fly.
Highlights
Blazing fast data transfer.
Flexible configuration (YAML/JSON).
Resume from where you left off.
Support for complex data types (LOB, XML, JSON, etc.).

Step 2. Change synchronization with ProSync (CDC)
ProSync keeps Oracle and Postgres Pro in sync by continuously capturing changes (CDC) and applying them to the target database. This makes it possible to migrate with very short downtime.
How does it work
Oracle stores every data change — inserts, updates, deletes — in redo logs. ProSync tails these logs in real time, detects each change, and immediately applies it to Postgres Pro.
As a result, your Postgres Pro instance is always up-to-date with Oracle, down to the last committed transaction.
Real-world example
A bank can’t afford even an hour of downtime. With ProSync, they can migrate data and apps gradually, while the old Oracle system stays live. Customers keep working with Oracle, and every transaction is instantly mirrored to Postgres Pro. Once everything’s in sync, switching over takes minutes.
Highlights
Minimal load on the source DB.
Reliable error handling and replication health monitoring.
Step 3. Data quality check with ProCheck
ProCheck verifies that the migration went smoothly and that the data in Postgres Pro is exactly the same as in Oracle.
How does it work
It compares tables, rows, and columns between the two databases. It catches discrepancies, conversion errors, and missing data — and gives you a detailed report.
ProGate use case
After migrating a financial system, you want to make sure every balance matches to the last cent. ProCheck will go row-by-row to confirm that nothing’s been lost or altered.
ProGate is perfect for:
Huge databases (terabytes and up).
Hot migrations with minimal downtime.
Strict data consistency requirements.
Known Limitations
While ProGate solves a lot of headaches, you should keep in mind:
Schema changes during migration may require manual handling.
Custom data types may need special mapping.
Tables without primary keys — ProSync works best with unique identifiers.

What’s next
The public release of ProGate is planned for this fall. Our roadmap includes:
A graphical UI, backend, and API.
New sources/targets (MS SQL Server, MySQL, Shardman).
In short: ProGate will let you move from Oracle to Postgres Pro fast, safe, and with zero drama — no endless downtime, no missing data, no nasty surprises.
We’ll share more about the technical internals after the public launch.