Leaving Oracle: The PostgreSQL and Aurora Business Case
The Oracle licence and its perpetual support annuity, not the database engine, are what a migration to PostgreSQL removes. The case turns on one question: does the re-platform effort pay back from the support you stop paying?
Prepared by Redress Compliance · July 2026 · Oracle licensing advisory. Representative Oracle estate scenario (benchmark scenario, not a quote).
Executive summary
Migrating an Oracle Database to PostgreSQL — on Amazon Aurora PostgreSQL, Amazon RDS for PostgreSQL, or self-managed — is not primarily a technology decision. It is a way to stop paying the Oracle licence, its options, and the 22 percent annual support annuity that renews for as long as you run the software.
The trade is a one-time cost for a permanent saving. You take on a re-platform effort — schema and PL/SQL conversion, testing, and cutover, tooled by the AWS Schema Conversion Tool and Database Migration Service — and a lower destination run rate, in exchange for shedding the Oracle support annuity that never ends.
On a representative estate paying $800,000 a year all in for Oracle support and infrastructure, a migration costing $900,000 one time and $250,000 a year to run on Aurora PostgreSQL pays back in about 1.6 years and saves roughly $1.85M over five years.
The case is not universal. Heavy PL/SQL, Real Application Clusters, and deep use of Oracle-specific options raise the conversion effort and can move the payback out. The disciplined move is to segment the estate, migrate the workloads that convert cleanly first, and treat the hardest databases separately.
Even for an organisation that ultimately stays, a credible migration plan is the strongest negotiation lever available at an Oracle renewal, because it converts a captive renewal into a contested one.
This paper gives what a migration removes, what it costs to get there, the break even math with a worked example, what migrates cleanly and what does not, the destination options, the negotiation angle, and the sequence to build the case.
What a migration actually removes
The value of leaving Oracle is not a faster database. Open-source PostgreSQL is a capable engine, but the business case rarely rests on performance. It rests on what you stop paying. A migration removes three recurring costs at once: the Enterprise Edition licence, the priced options and management packs layered on it, and the 22 percent support annuity that renews every year against the full net licence, typically with an annual uplift.
That annuity is the heart of the case, because it never ends. A perpetual Oracle licence is paid once, but its support is paid forever, and it is the single largest line in most mature Oracle estates. Migration is the only move that removes it entirely, as opposed to third party support, which reduces it, or renegotiation, which slows its growth.
| What a migration removes | Nature of the cost | Recovered by migration |
|---|---|---|
| Enterprise Edition licence | One-time, largely sunk | No further spend, but no refund |
| Priced options and packs | Per-processor, with support | Yes, licence and support both stop |
| The 22 percent support annuity | Recurring, escalating, indefinite | Yes — the largest saving |
| Oracle-specific infrastructure | Recurring run and admin cost | Partly, replaced by the destination rate |
The table makes the framing explicit: the sunk licence is not the prize, and treating it as one understates the case. The prize is the recurring lines — the support annuity above all — that a migration switches off permanently. That is why the payback is measured against what you stop paying every year, not against what the software once cost.
What it costs to get there
The one-time cost is a re-platform, and its size is driven by how much Oracle-specific logic lives in the database. Two tools frame most migrations: the AWS Schema Conversion Tool, which converts the schema and flags the PL/SQL that will not translate automatically, and the AWS Database Migration Service, which moves the data with limited downtime. The effort concentrates in three places.
- Schema and code conversion. Tables and simple logic convert largely automatically; stored procedures, packages, triggers, and Oracle-specific SQL are where manual effort lands.
- Application and integration changes. Anything that speaks Oracle SQL or relies on Oracle behaviour — drivers, ORMs, reports, batch jobs — must be adjusted and retested.
- Testing and cutover. Functional parity, performance validation, and a rehearsed cutover are the bulk of the risk and a real share of the cost.
The destination then carries a run rate. Aurora PostgreSQL and RDS for PostgreSQL price on compute and storage with no Oracle licence in the rate, which is why the ongoing cost falls even before the support annuity is counted.
The break even math on a real estate
The case is a payback calculation. Take a representative estate that pays $800,000 a year all in to run Oracle — support plus the Oracle-specific infrastructure and management. A migration costs $900,000 one time and lands on Aurora PostgreSQL at $250,000 a year to run. The cumulative cost of staying and migrating cross early.
| Year | Stay on Oracle (cumulative) | Migrate (cumulative) | Net position |
|---|---|---|---|
| Year 1 | $800,000 | $1,150,000 | -$350,000 |
| Year 2 | $1,600,000 | $1,400,000 | +$200,000 |
| Year 3 | $2,400,000 | $1,650,000 | +$750,000 |
| Year 5 | $4,000,000 | $2,150,000 | +$1,850,000 |
| Break-even | About 1.6 years | +$1.85M by year 5 | |
Cumulative all-in cost, representative estate. Numbers match the table above. Benchmark scenario, not a quote.
Reduced to two numbers, the case is a one-time cost weighed against a permanent saving. The migration is paid once; the saving recurs every year the estate would otherwise have carried Oracle support.
One-time migration cost against the five year net saving on the benchmark estate. Benchmark scenario, not a quote.
What migrates cleanly, and what does not
The payback assumes a manageable conversion, and not every workload delivers one. Segmenting the estate by conversion difficulty is the step that keeps the business case honest.
| Workload profile | Conversion difficulty | Recommendation |
|---|---|---|
| Simple schema, little PL/SQL | Low | Migrate first; fastest payback |
| Moderate PL/SQL, standard features | Medium | Convert with tooling and targeted rework |
| Heavy PL/SQL and packages | High | Refactor or re-architect; model effort carefully |
| RAC, Exadata, advanced options | High | Treat separately; the case may favour staying |
The counter move is to migrate the low and medium tiers first, bank the support saving they release, and use it to fund the harder databases — or to leave the hardest on Oracle deliberately, with a much smaller and more negotiable footprint.
Aurora, RDS, or self-managed
PostgreSQL has three common destinations, and they trade managed convenience against control and cost.
- Amazon Aurora PostgreSQL. A managed, cloud-native engine with PostgreSQL compatibility, high availability, and storage that scales automatically. Lowest operational effort, priced at a premium to plain RDS.
- Amazon RDS for PostgreSQL. Managed community PostgreSQL, a step down in price and in built-in scale from Aurora, and the closest to a like-for-like managed replacement.
- Self-managed PostgreSQL. Lowest licence and service cost, highest operational burden, appropriate where the team has the depth to run it.
None carries an Oracle licence, which is the point. The choice among them is an operating-model decision made after the migration case clears, not a reason to defer the case.
A credible exit is leverage even if you stay
The strongest reason to build the migration case is not always to execute it. Oracle prices a renewal on the assumption that the customer is captive, and a credible, costed migration plan removes that assumption. A customer who can show a board-ready business case to leave negotiates a renewal from a fundamentally different position than one who cannot.
In practice, the migration analysis pays for itself twice: once if you migrate and shed the annuity, and once if you stay and use the plan to win a materially better renewal. The worst position is the one with no analysis at all, because it is the only one Oracle can price with confidence.
The leverage is strongest when the plan is concrete rather than rhetorical. A statement that the organisation is “considering alternatives” changes nothing; a segmented estate, a costed conversion for the clean tiers, and a named destination change the negotiation entirely, because they demonstrate that leaving is an executable project rather than a threat. The work that builds the migration case is the same work that builds the renewal leverage, which is why it is worth doing before the renewal, not after it has been signed.
Where the common advice on migration is wrong
The common advice is that re-platforming off Oracle is too risky and too expensive to justify. We disagree, at least as a blanket claim.
The risk is real for the hardest databases, but it is routinely overstated for the majority of an estate, which is simple schema and light logic that modern tooling converts with limited effort. In the estates we reviewed, the error was usually to treat the whole estate as if it were the hardest database in it, and so to reject a migration that the low and medium tiers would have paid back quickly. Treating a mixed estate as uniformly hard is how a fixable annuity becomes a permanent one.
The counter move is to segment, migrate the tiers that convert cleanly, and price the hard tier honestly rather than letting it veto the whole case.
The recurring migration traps
| Trap | What it looks like | Your side answer |
|---|---|---|
| Whole-estate veto | Hardest database used to reject all migration | Segment; migrate the clean tiers first |
| Support kept too long | Oracle support renewed on migrated databases | Terminate support as each workload cuts over |
| Effort underestimated | PL/SQL conversion scoped from tables alone | Scope from the code, not the schema size |
| No fallback | Cutover with no rehearsed rollback | Rehearse cutover and rollback before go-live |
| Case never built | Renewal signed with no exit analysis | Build the case even if you intend to stay |
Migration is the only move that removes the Oracle support annuity rather than slowing it. Built well, the case pays back if you leave and wins a better renewal if you stay.
What should you do next?
A migration programme that pays back runs on a sequence, and the sequence is what keeps the business case honest as it moves from analysis to execution.
Segment the estate
Classify every database by PL/SQL and option depth, and sequence the low and medium tiers first for the fastest payback.
Migrate and release
Convert the clean tiers with the AWS Schema Conversion Tool and DMS, and terminate Oracle support on each database as it cuts over.
Decide the hard tier
Refactor the heavy PL/SQL and RAC workloads, or leave them on Oracle deliberately, on a smaller and more negotiable footprint.
Our recommendation: model the case against the Oracle support annuity, segment the estate by conversion difficulty, migrate the clean tiers first, terminate support as each cuts over, and build the analysis even if you intend to stay.
- Model against support, not licence. The recurring 22 percent annuity is what a migration removes; that is the number the one-time cost is weighed against.
- Segment before you scope. Classify databases by PL/SQL and option depth, and sequence the low and medium tiers first for the fastest payback.
- Release the saving on cutover. Terminate Oracle support on each database as it migrates; support kept on a dead database is pure waste.
- Build the case regardless. A costed exit is the strongest renewal lever you have, so the analysis is worth it even if you stay. Engage independent advisory to build it.
We segment the estate, model the payback against the support annuity, and build the board-ready case with you. We are glad to tie a meaningful part of the fee to delivered value.
Benchmark ranges: Redress Compliance advisory engagement file. Migration tooling per AWS Schema Conversion Tool and Database Migration Service documentation. Destination pricing per AWS published rates in force at publication.