Data migration to PostgreSQL

Every record counted, every amount compared.

From VSAM and DB2 to an open database.

Legacy data sits in VSAM files, DB2 or IMS databases and sequential files, with EBCDIC encoding, packed decimals and fields that carry three meanings. We model it in PostgreSQL, migrate in trial runs we can repeat identically each time and deliver a reconciliation report with every run.

What you can expect

01
Repeatable
Scripts, not manual work. The migration on cutover day is the same one as in the trial runs.
02
Reconciled
Record counts, control totals on amounts and samples per table, source against target.
03
Cleaned where you decide
Data quality issues show up in a report. You decide what gets corrected and what stays.

From source to table

Legacy data structures and their shape in PostgreSQL
SourcePostgreSQLPoint of attention
VSAM KSDSTable with a primary keyAlternate indexes become indexes
REDEFINES and OCCURSSeparate tables or typed columnsEvery variant gets an explicit shape
COMP-3 and zoned decimalNUMERIC with precision and scalePrecision is preserved
Dates as PIC 9(6) or 9(8)DATE or TIMESTAMPInvalid and zero dates get an agreed rule
EBCDIC textUTF-8Code page recorded per source
IMS segments (hierarchical)Tables with foreign keysParent-child relations become constraints
Generations and historyHistory tables or archiveRetention periods agreed up front

How we do it

01Preparation
Data profile
Per field: fill rate, value range and exceptions, measured on the real data.
Mapping document
Every source field has a target column and a conversion rule, validated by you.
02Execution
Trial migrations
Full runs on a copy of production, as often as needed until reconciliation closes.
Cutover window
Its duration is measured in the trial runs, not estimated.
03Control
Reconciliation report
Per table: counts, control totals and rejected records with the reason.
Fallback plan
The source stays untouched until the cutover is formally accepted.
■PostgreSQL · own servers or cloud
■Repeatable migration scripts
■Reconciliation report per run
■Data stays inside your environment

Curious what is inside your COBOL?

We start with an inventory.Start the conversation →