A spreadsheet cost model open on a computer screen
Oracle vs PostgreSQL

Oracle vs PostgreSQL cost in 2026, compared over five years. What you stop paying, and what you start paying.

Oracle list prices and support, the five costs that replace PostgreSQL's zero license fee, a worked five year model, and how the analysis shifts your next Oracle renewal.

Contact Us Oracle Advisory
500+Enterprise clients
$2B+Under advisory
PublishedMay 18, 2026UpdatedSeptember 24, 2026
ContentsKey takeawaysHow the license models differWhat replaces the zero feeThe five year modelWhat we saw in 2024 and 2025Effect on your Oracle renewalWhich workloads go whereSmall versus large footprintsMigration cost and riskWhat to do nextFAQ

PostgreSQL has no license fee, while Oracle Database charges per processor or per Named User Plus, plus options and support. Whether a workload should move depends on a sourced five year model per segment, with the migration bill counted in full.

Key takeaways
  • The license line decides nothing on its own. Oracle Enterprise Edition lists at $47,500 per processor before options and PostgreSQL at zero, but the comparison is support, engineering and migration over five years.
  • Hold the service constant. Same workload, environment count, availability targets, support quality and horizon on both sides, or the model compares two different things.
  • Five lines replace the license fee. Support subscriptions, high availability engineering, managed service premiums, migration labor and people.
  • Oracle costs more than the base license. Options and support added 40 to 70 percent on top of the base database license in the footprints we modeled.
  • Migration takes a share. It consumed 20 to 40 percent of the saving in the same models, mostly in code conversion and testing.
  • Segment instead of switching everything. The strongest cases were new applications and low dependence workloads, migrated first while the Oracle core stayed put.

PostgreSQL is a mature open source relational database released under the permissive terms on the PostgreSQL licence page, so there is no license fee at any scale. Oracle Database is commercial software priced per processor or per Named User Plus in the Oracle Technology Price List, with options and annual support on top.

Every CIO knows that headline. What gets a migration funded is a five year model per workload, with every PostgreSQL cost sourced and the Oracle cost stated as what you would actually stop paying. Below we build that model, work the arithmetic, and show how it changes your next Oracle renewal even if most workloads stay.

How do Oracle and PostgreSQL license costs differ?

Oracle sells a metered right to run the database, counted by processor or by named user, with separately priced options and a support contract at roughly 22 percent of net license per year. PostgreSQL grants an unmetered right to run and charges for nothing, which relocates every cost into services you choose to buy or build.

The Oracle cost stack at list price

  • Base engine. Enterprise Edition lists at $47,500 per processor after the core factor is applied, or $950 per Named User Plus, subject to the per processor user minimums.
  • Options on top. Partitioning, Advanced Compression, Diagnostics Pack and their peers each carry their own line, and each must be licensed on every processor or user the database is licensed for.
  • Support that compounds. The annual support stream reprices upward over the years and outlives the hardware it was sized on.
Oracle Database list prices for the lines that usually appear in a PostgreSQL comparison
ProductPer processorPer Named User Plus
Enterprise Edition$47,500$950
Standard Edition 2$17,500$350
Real Application Clusters$23,000$460
Partitioning$11,500$230
Advanced Compression$11,500$230
Active Data Guard$11,500$230
Diagnostics Pack$7,500$150
Tuning Pack$5,000$100

Our annotated read of the technology price list carries every line item. For metric mechanics and edition rules, the Oracle Database licensing pillar is the reference, and the Named User Plus minimums explain why the user metric rarely helps on large servers.

The PostgreSQL cost stack

The PostgreSQL project ships the engine free under its permissive license, with no user or processor metering and no audit clause. Enterprises pay instead for a commercial support subscription, the engineering to run high availability properly, and the one time cost of getting off Oracle.

Which six variables must the comparison hold constant?

Both columns have to describe the same service, or the comparison ends up arguing for whichever side built it. Fix these six variables before a single number goes in:

  • The workload. Same schema, same transaction profile and the same growth curve on both sides.
  • Environment count. Production plus every development, test and disaster recovery copy, because Oracle charges for those too.
  • Availability targets. The same recovery time and data loss objectives, met by each platform's own mechanism.
  • Support quality. A named vendor subscription on the PostgreSQL side if Oracle support is the comparator. Community forums are a different service.
  • Horizon. Five years, long enough to amortize the migration and catch two Oracle renewal cycles.
  • People. The team that operates the result, priced at real salaries on both sides.
Watch the briefingResearch briefing · 4:43

How to Negotiate the Oracle Java Employee Agreement: Honest Leverage in a Captive Deal

Where does PostgreSQL's zero license fee get eaten?

In five places: support subscriptions, high availability engineering, managed service premiums, migration labor and people. A good model names each as its own line instead of burying them in a contingency row. None of them erases the saving in a typical Oracle footprint, but together they decide how much of it survives.

The five costs that replace the Oracle license line
Cost lineWhat it buysHow to source the number
Support subscriptionNamed vendor backing with response timesThree written quotes, priced per instance or per core
High availability toolingFailover, connection pooling, backup orchestrationEngineering days from your platform team's estimate
Managed service premiumA cloud provider running the database for youPublished cloud price sheets for your instance sizes
Migration laborConversion, remediation, testing, cutoverTwo independent fixed scope proposals
People and skillsHiring or training the operating teamReal salary and training budget lines

The support subscription is real money

Enterprises that replace Oracle support with a commercial PostgreSQL vendor pay a real annual fee, and pricing varies widely between vendors and between metrics such as per instance, per core or per server. Do not quote an analyst average. Three written quotes against your actual instance list is the only number a CFO should accept.

Version currency belongs in the model too. PostgreSQL ships a major release about once a year and supports each one for five years, with minor releases at least every three months. Budget a small recurring line for upgrade engineering, because a zero in that cell invites the first hostile question in review.

The availability gap is engineering work

Oracle sells failover as product, through Data Guard, Active Data Guard and Real Application Clusters. PostgreSQL delivers streaming replication free and leaves orchestration to tools such as Patroni, pgBackRest and a connection pooler like PgBouncer, which your team assembles and tests. The software is free, so the budget line is the assembly, the runbooks and the failover testing.

The managed service premium

Running PostgreSQL as a cloud managed service, such as Amazon RDS for PostgreSQL or Azure Database for PostgreSQL, removes most of the availability engineering line. It adds an hourly premium over raw compute, plus storage and egress at the provider's published rates. Price it from those sheets for your actual instance sizes across the full environment count.

The premium is usually worth paying for small teams. It is still a cost line, and models that treat managed PostgreSQL as free capacity overstate the saving.

People are the line executives doubt

An Oracle DBA team does not become a PostgreSQL platform team by memo. Budget training, some hiring and a period of slower delivery, with real salary numbers against each. In our models this line was material for the first two years, then converged toward the Oracle baseline.

Free white paper

Leaving Oracle: the PostgreSQL business case

The five year exit model worked through, from support savings to migration cost and payback.

Get the white paper →

What does a five year Oracle vs PostgreSQL cost model look like?

It has nine lines per workload segment, one column per platform, and a source for every number. The skeleton below is the version that survives finance review. Fill it per segment and never for the whole Oracle footprint at once, because the answer for a new application and for a system of record will differ sharply.

Five year model skeleton, per workload segment
LineOracle columnPostgreSQL column
License acquisitionZero if owned; list less negotiated terms if growingZero
Annual support or subscription22 percent stream for five years, with upliftsVendor quote for five years
Options and packsEach licensed option's license and supportZero, or extension support if commercial
InfrastructureHeld equal by designHeld equal by design
Availability toolingIncluded or licensed as an option, for example Active Data GuardEngineering days plus ongoing operation
PeopleCurrent team costTeam cost after hiring or retraining
Migration, one timeZeroFixed scope proposal plus internal testing time
Dual runningZeroMonths of parallel operation during cutover
Risk contingencyAudit and renewal exposureSchedule overrun on conversion and testing

Two rules keep the skeleton honest. The Oracle column uses your negotiated prices wherever contracts exist. Both columns carry the same growth assumption, because a comparison in which one platform somehow needs less capacity is answering a different question.

The Oracle column, worked at list

Take a hypothetical 8 processor segment running Enterprise Edition with Partitioning and Diagnostics Pack. The table prices it at list, with support at 22 percent of the license basis and no uplift across the five years.

Oracle column for a hypothetical 8 processor segment at list
LinePer processor8 processors
Enterprise Edition$47,500$380,000
Partitioning$11,500$92,000
Diagnostics Pack$7,500$60,000
License basis$66,500$532,000
Annual support at 22 percent$14,630about $117,000
Five years of support, no uplift$73,150roughly $585,000

If you already own the licenses, the license basis is sunk cost. The avoidable Oracle cost is the support stream plus any growth purchases, and that figure is what the PostgreSQL column has to beat.

Check what Oracle will reprice before you count the saving

Oracle's support policies do not let you drop support on part of a license set, so you terminate those licenses. Support on the licenses left on that order is then repriced at current list support minus the standard discount, capped at your previous total and floored at what you paid for the licenses you keep.

If the 8 processors sit on an order with 30 others bought at a deep discount, part of the $117,000 can come back as a higher fee on the licenses that remain. Ask Oracle for a written repricing quote on the exact licenses before the saving goes into the business case.

The PostgreSQL column, sourced line by line

Every PostgreSQL line needs a source you could hand to an auditor, taken from the five cost lines above. Where a number cannot be sourced yet, mark the cell open instead of borrowing one from a vendor deck.

The decision rule, with a worked break even

A usable rule from the models we built: when the five year avoidable Oracle cost exceeds the sourced migration bill plus contingency, and no hard dependency blocks the migration, the segment qualifies. When annual Oracle support alone would repay the migration inside about three years, it qualifies easily. Applied to the 8 processor segment:

  1. Avoidable Oracle cost. Roughly $585,000 of support over five years, from the table above.
  2. Migration line. Say the two fixed scope proposals come in at $220,000 and $300,000. Add 20 percent contingency and the line runs from $264,000 to $360,000.
  3. Room for run costs. That leaves $225,000 to $321,000, about $45,000 to $64,000 a year, for the support subscription, availability engineering, dual running and the people line. If your sourced quotes fit inside it, the segment qualifies.
  4. Three year test. Three years of Oracle support is about $351,000. The low proposal clears it with room to spare. The high one misses by about $9,000, so that version qualifies only if the sourced run costs fit inside the $225,000 left over five years.

Present the result as a range. A model that says the segment saves between one number and another, depending on the two sourced proposals, reads as credible. A single figure to the dollar invites finance to ask where that precision came from.

What have we seen in Oracle to PostgreSQL business cases in 2024 and 2025?

I modeled roughly 20 to 30 Oracle to PostgreSQL business cases through 2024 and 2025. The license and support saving was large, and the migration cost was consistently underestimated. Three patterns came up repeatedly:

  • Options and support were the bigger number. Oracle options and support added 40 to 70 percent on top of the base database license in the footprints we reviewed. Buyers who compared only the Enterprise Edition line understated their Oracle cost by that margin.
  • Migration took a share of the saving. PostgreSQL removed the license line entirely but shifted 20 to 40 percent of the saving into migration and engineering, concentrated in code conversion and testing.
  • New workloads won outright. The strongest cases were new applications and non critical workloads, where there was no migration tax to pay.

The models that failed finance review all failed the same way, with an unsourced migration line defended by optimism. The models that funded programs carried two external proposals and a named contingency. The arithmetic was similar in both groups, so the sourcing is what got programs approved.

PostgreSQL has no license fee, yet it still has a bill. A sourced model for each workload shows whether that bill is smaller than Oracle support.

Several of those models never triggered a migration at all, and still paid for themselves in the Oracle renewal they reshaped.

How does an exit model change your Oracle renewal?

It changes the renewal materially, and this return rarely makes it into the spreadsheet. A sourced, segmented exit model changes Oracle's behavior even for the workloads that stay, because the account team can read a credible alternative as easily as you can. Run the exit analysis even if you expect to stay.

  • Support retention pressure. Every segment that leaves shrinks the support stream Oracle most wants to protect, and that is what creates movement on price and terms for the rest.
  • Timing. The model is worth most in the two quarters before a renewal or an audit settlement, and least the week after signature.
  • No easy way back. Terminated licenses have to be bought again. If you let support lapse on a whole license set instead, bringing it back costs the support fee plus a reinstatement fee of 150 percent of the last annual support fee, prorated for the time support was lapsed.

What the account team will say, and what to say back

Typical Oracle responses to a PostgreSQL business case
What Oracle saysWhat to say back
"PostgreSQL looks cheaper on license, but once you add support, risk and engineering it costs more.""Then our model will show it. Here are the quotes and proposals per segment. Tell us which number is wrong."
"If you terminate those licenses, support on the rest gets repriced and the saving disappears.""Send the repricing calculation for those exact support identifiers in writing, and we will put it in the model."
"We can hold your price if you commit to more Oracle this quarter.""We will discuss price only on the workloads that stay, with a cap on support uplift for the full term."
"Moving to Autonomous Database on OCI removes the operations cost you are budgeting for PostgreSQL.""Price it into the same nine line skeleton over five years and we will compare it on equal terms."
"Your application vendor only certifies Oracle.""Show us that for this application and version in writing. If it holds, that segment stays and we price it separately."

Contract terms to ask for on the licenses that stay

  • A cap on support uplift. A written price hold or uplift cap for the term stops Oracle recovering the lost stream through annual increases.
  • A written repricing outcome. Agree the fee on the surviving licenses before any termination notice goes in, so the business case cannot move after approval.
  • License set confirmation. Have Oracle confirm which licenses form each license set and order, so terminating migrated processors does not open a matching service level dispute.
  • Termination timed to cutover. Align the termination with the support anniversary after each segment's reconciliation gate closes, so the rollback path stays open until then.

When to do what before the support anniversary

Exit analysis timeline against the Oracle support anniversary
Months beforeWhat to do
12Inventory by workload, pull feature usage, score dependencies, request PostgreSQL support quotes.
6Finish the nine line model per segment and ask Oracle for repricing quotes on candidate terminations.
3Share the segment level conclusions with the account team and negotiate terms on the surviving support.
1Sign, or defer. Terminate only segments whose reconciliation gate has closed.

Which workloads belong on PostgreSQL and which stay on Oracle?

Draw the boundary by dependency. What matters is how much Oracle specific machinery a workload actually exercises, and the answer sits in the data dictionary and the feature usage views.

Segment sizing matters more than segment count. Three segments, small, standard and dependent, cover most Oracle footprints. A model with a dozen segments stalls in review.

Where PostgreSQL wins cleanly

  • New applications. No conversion and no history, so the saving arrives whole.
  • Standard transactional systems. Plain SQL schemas with modest stored code convert with the least friction.
  • Departmental and edge databases. The small systems that never justified their Oracle stack, including the legacy socket edition deployments covered in our SE1 guide.
  • Read heavy services. Streaming replicas handle scale out reading without any licensed option.

Where Oracle usually stays

  • Dense PL/SQL code bases. Tens of thousands of lines of packages convert slowly and test slower.
  • RAC dependent systems. Active active clustering has no drop in PostgreSQL equivalent and forces a redesign.
  • ISV certified stacks. Where the application vendor certifies only Oracle, the database choice is not yours to make.
  • Extreme single system scale. The largest consolidated workloads justify engineered platforms on merit.

Middleware follows the same segmentation logic, and an Oracle database exit often opens the application tier next. The parallel case is built in our middleware migration business case for CFOs.

A dependency scorecard for each workload

Score each workload on five tests before assigning it a column:

  1. Lines of PL/SQL and triggers, from the dictionary, not from memory.
  2. Licensed options actually exercised, from the feature usage views.
  3. Clustering dependence: whether the application requires active active nodes or only fast failover.
  4. Vendor certification: whether the ISV supports the application on PostgreSQL in writing.
  5. Data gravity: replication feeds, downstream consumers and shared schemas that tie the workload to Oracle.

Workloads failing none of the five go first. Workloads failing two or more usually stay until an application refresh changes the answer.

How to check your own position

  • Stored code volume. Count lines in DBA_SOURCE by owner and object type, and list triggers from DBA_TRIGGERS.
  • Options exercised. Query DBA_FEATURE_USAGE_STATISTICS or run Oracle's options_packs_usage_statistics.sql script from My Oracle Support, as described in our guide to the feature usage report.
  • Pack access. Check the CONTROL_MANAGEMENT_PACK_ACCESS parameter. If it allows Diagnostics and Tuning, those packs may be in use whether or not you licensed them.
  • Conversion effort. Run the Ora2Pg migration assessment report or the AWS Schema Conversion Tool assessment report. Both rank objects by estimated conversion effort, which gives the proposals a common baseline.

Why we reject the claim that PostgreSQL costs more once you add support

The common pitch, often from the Oracle account team, is that PostgreSQL looks cheaper on license but costs more once support, risk and engineering are added, so the migration rarely pays off. We disagree with the blanket version of that claim.

In the comparisons I modeled, PostgreSQL won decisively for new and non critical workloads where there was no migration to fund. The Oracle support stream alone often exceeded the entire PostgreSQL run cost.

A data center aisle lined with server racks
A hardware refresh is a natural point to reopen the comparison. New servers change core counts and with them the Oracle processor bill, while the PostgreSQL engine carries no per core fee.

The better course is to segment the footprint, migrate the workloads that carry no migration tax first, and keep Oracle only where a specific feature or scale dependency justifies it. An all or nothing decision favors the incumbent.

How does the comparison change for a small Oracle footprint versus a large one?

Scale changes which line dominates. At small scale, the migration bill looms large against a modest support stream. At large scale, the support stream dwarfs almost any single migration, but dependency density tends to be higher as well.

Three hypothetical Oracle footprints at list price
FootprintLicense basisAnnual supportFive years of supportWhat usually decides it
Standard Edition 2 on two servers with 2 sockets each$70,000$15,400$77,000ISV certification; new builds go straight to PostgreSQL
8 processors of Enterprise Edition with Partitioning and Diagnostics Pack$532,000about $117,000roughly $585,000The sourced migration bill against about three years of support
200 processors with the same options$13,300,000$2,926,000$14,630,000Segmenting by PL/SQL density, RAC use and ISV certification

Standard Edition 2 is licensed per occupied socket on servers with at most two sockets, so small footprints carry a small support line. There the realistic test is SE2 support against a PostgreSQL subscription, and the SE2 features you lose moving to PostgreSQL are usually few.

At the large end, even one qualifying segment can shift the renewal, because the first wave rarely needs to be large to change what Oracle offers on the rest.

What does an Oracle to PostgreSQL migration cost, and where does it go wrong?

The cost scales with Oracle feature density, and testing dominates it. Conversion tools handle schemas and much of the code mechanically. No tool proves that the converted system behaves identically under production load, and that proof is most of the bill.

What drives the effort

  • Stored code volume. PL/SQL packages, triggers and types are the core of the conversion.
  • Data type edges. Oracle's DATE carries a time of day and Oracle treats an empty string as NULL, while PostgreSQL does neither. Oracle NUMBER columns need an explicit choice between numeric, bigint and integer, and CLOB and BLOB columns move to text and bytea with different access patterns. Unmapped, these differences corrupt data without raising an error.
  • Application coupling. Embedded hints, proprietary SQL and driver behavior surface late.
  • Validation. Parallel running and reconciliation carry the real calendar time.

The sequence that controls the risk

Migrate reference data and reporting replicas first, transactional systems second and systems of record last, each behind a reconciliation gate. Early waves build the team's competence on workloads that can tolerate a rough week.

Keep the Oracle licenses of a migrated segment parked until its reconciliation gate closes. Terminating support in the same month as cutover looks efficient and removes your rollback path at the moment you are most likely to need it. Our note on dual running at cutover covers how to size that overlap.

Common mistakes and what they cost

  • Counting list price savings. If you pay a discounted support fee, a list based model overstates the saving by the size of your discount.
  • Modeling production only. Leaving disaster recovery or test copies out of one column makes the two platforms describe different services.
  • Letting the model go stale. Assign it to the software asset management function and refresh it annually. Oracle's team will discount an exit model the first time it spots an outdated assumption.

For the wider Oracle library, start at the Oracle Knowledge Hub. For an independent total cost of ownership review, see our Oracle advisory services.

What to do next

  1. Inventory. List the Oracle footprint by workload, edition, licensed options and feature usage evidence.
  2. Price what you would stop paying. Compute the avoidable five year Oracle cost per segment, support stream included, at your negotiated rates.
  3. Score dependency. Rate each segment on stored code volume, options exercised, clustering, ISV certification and data gravity.
  4. Collect sources. Get three PostgreSQL support quotes and two fixed scope migration proposals, plus a written repricing quote from Oracle.
  5. Fill the skeleton. Complete the nine line model per segment and mark every unsourced cell open.
  6. Migrate the easy segments first. Start with workloads that carry no migration tax and bank the proof.
  7. Retest at each renewal. Rerun the remaining segments before every Oracle support anniversary, when the exit model carries the most weight.
  8. Get independent advice early. Bring in independent advisors before the program is committed and the Oracle terminations are scheduled.

Frequently asked questions

Is PostgreSQL really free for enterprise use?

The license is free for any use, commercial included, with no metering and no obligation to publish your changes. Running it in production is what costs money. Most enterprises buy a support subscription from a PostgreSQL vendor or pay a cloud provider to operate it, and both belong in your cost model.

How is Oracle Database licensed by comparison?

Oracle licenses the database per processor, with the core factor applied to physical cores, or per Named User Plus with minimums per processor. Each option and management pack is licensed on the same metric and quantity as the database, and support is billed every year on the net license value.

What should a five year comparison hold constant?

Everything that defines the service: the workload and its growth, every production and non production copy, the recovery objectives, the level of vendor support, and the team that runs it. If one column leaves out disaster recovery or assumes community support, the result favors that column for reasons unrelated to price.

What is the biggest hidden cost on the PostgreSQL side?

Testing inside the migration. Schema and code conversion is largely mechanical and quotes tend to be accurate. Reconciling results between the old and new systems, and running both in parallel until the numbers match, is where schedules and budgets overrun, so insist that proposals price validation separately.

When does Oracle remain the better economic choice?

When a workload depends on RAC, runs a large PL/SQL code base, sits under an ISV that certifies only Oracle, or needs engineered system scale. In those cases the conversion bill and risk usually exceed five years of support savings, and the better use of the model is to negotiate the renewal.

Does PostgreSQL have equivalents for Oracle's paid options?

For many of them, yes. PostgreSQL includes declarative partitioning, streaming replicas that serve reads, and extensions for statistics and monitoring, all without a separate license. What it lacks is a shared disk active active cluster like RAC, which is why RAC dependent systems usually stay on Oracle.

Can I run Oracle and PostgreSQL side by side?

Yes, and most successful exits run both for years. The practical point is to keep Oracle licenses tidy while you do it: migrated segments should be terminated cleanly at a support anniversary, and the remaining license sets documented so the smaller Oracle footprint stays audit ready.

Does Redress resell either database?

No. Redress Compliance is 100 percent independent of both vendors, with no resale and no implementation revenue on either platform. We build the cost model with your team and negotiate the Oracle side of it.

Newsletter
Licensing news that changes what you pay

One email a week on vendor price moves, audit activity and what worked in recent renewals.

Subscribe
Vendor Shield
An advisor on call for every vendor conversation

Always on advisory for renewals, audits and contract questions across your software vendors.

Explore Vendor Shield
Advisory White Paper

Get the Oracle to PostgreSQL business case, as a guide.

The break even arithmetic for leaving Oracle Database, which workloads migrate cleanly, and how the exit case shapes your Oracle renewal.

Gated with a work email on the download page. No sales follow up you did not ask for.

Get the White Paper →
We never share your details with vendors.

Oracle licensing news, once a week.

Price changes, audit activity and what worked in recent renewals. No vendor spin.