FACTORY · DATABASE MIGRATION

Migrate from Oracle or SQL Server to PostgreSQL without rewriting the app

We switch your database engine —from Oracle, SQL Server or Db2 to PostgreSQL— to cut licensing costs and get off a proprietary engine, without rewriting the application and without losing a single record. We migrate schema, types, stored logic (PL/SQL, T-SQL) and the data with integrity validation, and we make the switch with a cutover plan that has a rollback. The schema and the code are 100% yours.

3-month warranty
5.0★ on Clutch
200+ projects
Code 100% yours · MTY · GDL · TX

Database migration means changing the ENGINE where your data lives —from Oracle, SQL Server or Db2 to PostgreSQL— without rewriting the application that consumes it.

We migrate the schema, the data types, the stored logic (PL/SQL to PL/pgSQL, T-SQL to PL/pgSQL) and the data with integrity validation, and we only adjust your app's connection layer: the driver and the SQL dialect differences. The goal is concrete and measurable: lower your licensing and support costs, and stop depending on a proprietary engine, keeping 100% of your data and the same functionality.

Founded in 2018Monterrey, Guadalajara + TexasCode 100% yours5.0★ on Clutch200+ projects

The code and configuration are 100% yours from day one.

WHY ITECHDEV

Six operational reasons, zero adjectives

The code is yours from day one

Repos in your name, documented CI/CD and zero vendor lock-in. If you leave tomorrow, you take it all, running.

New

WhatsApp API with an official provider

We are a Meta Tech Provider: your WhatsApp Business API line with no middlemen, and chatbots wired to your ERP.

Sprint delivery you can click

A working demo every two weeks and measurable progress. No "it’s 80% done" without something you can click.

New

AI applied to your operation

LLM agents, RAG over your data and process automation — the same practice we use to run iTech itself.

Real nearshore: Texas + Monterrey

Legal entity in the U.S. (iTech Corp, Texas), contracts under U.S. law, same CST time zone and USMCA.

New

ERP with CFDI 4.0 invoicing

We implement Odoo with integrated SAT stamping (PAC), client portal and reconciliation — a full operation, not just software.

When you need it

Your Oracle or SQL Server license and support costs climb every year and now weigh too much on your IT budget.
An end of support or a forced version upgrade is coming (or a licensing audit / true-up) that forces you to decide now.
You want off a proprietary engine and onto open source (PostgreSQL) to end vendor lock-in and core-factor clauses.
Your workloads already run —or will run— in the cloud, and a managed PostgreSQL (Aurora / Azure Database) costs a fraction of the proprietary license.
A merger or consolidation left you with two or three different engines and you want to standardize on a single, cheaper-to-run one.
DBAs for the proprietary engine are increasingly expensive and hard to find, while PostgreSQL talent is abundant.

What's included

Compatibility assessment

We inventory your schema, data types, procedures, functions, triggers, views and app dependencies, and classify each object by conversion effort (automatic, semi-automatic or manual) with tools like ora2pg. Deliverable: a compatibility report with the real work estimate, no surprises midway through.

Schema and data-type mapping

We translate the DDL and resolve the differences that break silently: NUMBER vs numeric, DATE with time, VARCHAR2, sequences and IDENTITY, proprietary types and collations. Every mapping decision is documented, not hidden inside the script.

Stored-logic conversion

We convert PL/SQL and T-SQL to PL/pgSQL: procedures, functions, packages, triggers and SQL with proprietary dialect (CONNECT BY hierarchies, analytic functions, hints). Whatever has no direct equivalent is redesigned with judgment, not copied blindly.

Data migration with integrity validation

We move the data with pgloader / AWS DMS and reconcile it against the source: per-table counts, checksums, foreign-key and constraint verification. Migrated data is not accepted until it matches row by row.

Parity testing

A suite that validates the new engine returns the same results as the old one before shutting it down: query parity, report parity and business-logic parity, with our internal ARIA platform. Equivalence is proven, not promised.

App connection-layer adjustment

We change the driver (JDBC, ODBC, .NET, ORM) and the dialect differences in your application, with the least code change possible. For SQL Server we evaluate Babelfish for PostgreSQL, which speaks the TDS protocol and further reduces what has to be touched.

Cutover plan with rollback

We design the switch with logical replication or CDC (Debezium) to minimize downtime, with a tested rollback plan: if something does not add up on switch day, we go back to the original engine without losing transactions. No shutting the old one down blindly.

Tuning and stabilization on PostgreSQL

We tune indexes, execution plans, autovacuum, memory parameters and statistics so PostgreSQL performs as well as or better than the engine you left. We hand over versioned migration scripts (Flyway / Liquibase) and the operations runbook.

How we work

101 · Database migration assessmentDeliverablea compatibility report, a risk map, a recommended strategy (with or without Babelfish, with or without cloud) and an effort estimate per object — yours even if you do not continue with us

We analyze your current engine, the schema, the stored logic and how the app connects.

202 · Proof of conceptDeliverablea working PoC with parity and performance metrics, and the estimate adjusted with real data

We migrate a representative subset (the most complex objects and the heaviest tables) to validate the conversion approach and measure real performance on PostgreSQL.

303 · Schema and logic conversionDeliverablea PostgreSQL schema versioned in Flyway/Liquibase and the converted logic with its unit tests

We convert the full DDL and the stored logic (PL/SQL / T-SQL → PL/pgSQL), automating what we can and hand-solving what has no equivalent.

404 · Data migration and validationDeliverablemigrated and reconciled data with an integrity report; zero orphan records, zero silent truncations

We load the history with pgloader / AWS DMS and reconcile against the source (counts, checksums, foreign keys).

505 · Parity testing and app adjustmentDeliverablegreen tests proving the same functionality and the same results, with the app pointing at the new engine in a staging environment

We run the parity suite, change the driver and dialect in the application and tune performance.

606 · Cutover and stabilizationDeliverablePostgreSQL in production, the proprietary engine turned off, a tested rollback plan, a runbook and 90 days of support — schema and scripts 100% yours

We execute the switch with logical replication / CDC to minimize downtime, monitor the first weeks and fine-tune.

Tech stack

The tools and platforms we build it with — chosen for your problem, not for hype.

PostgreSQLOracleSQL ServerIBM Db2MySQLora2pgpgloaderAWS DMSBabelfish for PostgreSQLDebezium (CDC)FlywayLiquibaseAmazon Aurora PostgreSQLAzure Database for PostgreSQL
FAQ

Frequently asked questions

Can't find your question? Talk to an engineer — no sales script.

Contact us →
Will migrating from Oracle to PostgreSQL make me lose data or functionality?

No, and that is exactly the point of the project. Data is migrated with integrity validation (counts, checksums, foreign keys) and is not accepted until it matches the source row by row. Functionality is preserved by converting the stored logic (PL/SQL, T-SQL) to PL/pgSQL and proving parity with a test suite before turning the old engine off. The few things PostgreSQL solves differently —a proprietary type or a particular analytic function— we map to their equivalent and document for you; we do not let them drop silently.

Do I have to rewrite my application to change engines?

No. The goal of this migration is to change only the database engine, not the system. In most cases the app change is limited to the connection driver and a handful of SQL dialect differences; for applications on SQL Server, Babelfish for PostgreSQL speaks the same protocol and reduces even further what has to be touched. If your application is already on an obsolete language or framework and you want to modernize it, that is a separate, complementary project: our Legacy modernization (also in the software factory), which can run in the same phase as, or after, the engine migration.

How much does a database migration cost?

It is quoted by effort, at our factory base rate of $600 MXN per hour, which drops with the volume of hours committed. The real cost depends on the size of the schema, how much stored logic (procedures, triggers, packages) has to be converted and the dialect differences — that is why we start with a bounded-scope Database migration assessment: it delivers the compatibility report, the risk map and an effort estimate per object, and it is yours even if you decide not to continue with us. No invented fixed packages: first we measure, then we quote.

How much do I save on licenses by moving to PostgreSQL?

PostgreSQL is open source: it pays no engine license or per-core support like Oracle or SQL Server, so that line disappears from your bill. How much that represents in your case depends on your current contract, your edition and your licensing model; we will not invent a percentage for you. The honest version is this: you eliminate the engine license cost, and against that you put the one-time cost of the migration and the cost of running PostgreSQL (a team or a managed service). In the assessment we help you build that TCO comparison with YOUR numbers, not with a brochure case.

What if I also want to move the database to the cloud?

It is a very common combination and it makes total sense: a managed PostgreSQL like Amazon Aurora or Azure Database for PostgreSQL usually costs a fraction of the proprietary license, and the engine change is the natural moment to do it. Even so, these are two distinct intents: changing the ENGINE (what we do here) and moving the INFRASTRUCTURE to the cloud. When the project includes the latter, we coordinate it with our Cloud migration (Azure/AWS) from the Cloud & DevOps mini-site, which brings the landing zone, the network and the 6R model. You can do just the on-premise engine change, or both in a single wave.

Can PostgreSQL handle serious enterprise and transactional workloads?

Yes. PostgreSQL runs high-volume OLTP and analytical workloads with partitioning, advanced indexing, MVCC concurrency, read replicas and extensions for special cases. Part of the project is precisely to prove it before cutover: in the proof of concept we measure the real performance of your heaviest queries on PostgreSQL and, if something is slow, we tune it (indexes, plans, parameters) until it matches or beats the engine you are leaving. We do not migrate on faith: we migrate with parity and performance metrics on the table. If you then want to exploit that data with analytics and dashboards, that is Data engineering and BI, another factory capability.

More from Software factory

YOUR ASSESSMENT, FRICTIONLESS

Get your AI assessment in 3 minutes

No sales meetings. Answer a few questions and get an actionable plan — with the option to book directly with an expert.

Free · 3 minutes · no commitment