PostgreSQL End of Life & Support Options —
What To Do When PostgreSQL Patches Stop, Every Version's Date
PostgreSQL 14 reaches end of life on November 12, 2026 — the next PostgreSQL deadline. If you are running PostgreSQL 14 in production, that is your most immediate action item. And PostgreSQL 13 is already past EOL — it stopped receiving fixes on November 13, 2025. The good news with PostgreSQL is that none of this is a surprise: its support policy is one of the most predictable in all of software.
Every PostgreSQL major version is supported for exactly five years, a new major ships every year, and end of life always lands in mid-November. That predictability is a gift for planning — but it also means a version goes EOL every single November, and right now PostgreSQL 14 is next in line.
This page is the single reference for PostgreSQL end-of-life dates across every version — with EOL Risk Scores™, the five-year policy explained, and a plain-English upgrade guide.
Key Dates at a Glance
- PostgreSQL 13: end of life 2025-11-13
- PostgreSQL 14: end of life 2026-11-12
- PostgreSQL 15: end of life 2027-11-11
- PostgreSQL 16: end of life 2028-11-09
- PostgreSQL 17: end of life 2029-11-08
- PostgreSQL 18: end of life 2030-11-14
- Amazon RDS for PostgreSQL 14: standard support ends 2027-02-28; RDS Extended Support ends 2030-02-28
- Amazon Aurora PostgreSQL 14: standard support ends 2027-02-28; Extended Support ends 2030-02-28
- Azure Database for PostgreSQL 14: end of support 2026-12-11
- Complete PostgreSQL EOL schedule — all versions
- Every PostgreSQL version, one line each
- How PostgreSQL versioning works — the 5-year policy
- PostgreSQL 14 — EOL November 12, 2026
- PostgreSQL 13 — already past EOL
- PostgreSQL 16 — EOL November 9, 2028
- PostgreSQL 15 — EOL November 11, 2027
- PostgreSQL 17 & 18 — current upgrade targets
- PostgreSQL vs MySQL — EOL implications
- Managed PostgreSQL — RDS, Aurora and Azure run different clocks
- How to upgrade safely
- How to check your PostgreSQL version
- Your options when a version reaches EOL
- Frequently asked questions
Complete PostgreSQL EOL Schedule
The versions below are the ones in active use today. PostgreSQL 15 through 18 are supported; 13 and 14 are the urgent ones (13 is already EOL, 14 follows on November 12, 2026); 12 and earlier are long past end of life and should not be running anywhere.
| Version | Released | End of Life | Status | EOL Risk Score™ |
|---|---|---|---|---|
| PostgreSQL 12 | Oct 3, 2019 | Nov 21, 2024 | EOL | 65 |
| PostgreSQL 13 | Sep 24, 2020 | Nov 13, 2025 | EOL | 60 |
| PostgreSQL 14 | Sep 30, 2021 | Nov 12, 2026 | Approaching | 45 |
| PostgreSQL 15 | Oct 13, 2022 | Nov 11, 2027 | Supported | 30 |
| PostgreSQL 16 | Sep 14, 2023 | Nov 9, 2028 | Supported | 30 |
| PostgreSQL 17 | Sep 26, 2024 | Nov 8, 2029 | Supported | 30 |
| PostgreSQL 18 | Sep 25, 2025 | Nov 14, 2030 | Supported | 30 |
Every PostgreSQL version, one line each
The same schedule as plain statements, one per major version, for anyone who needs a single date rather than a table. Every date is bound to the same data as the PostgreSQL product page and re-verified at each build; the community publishes the full table on its versioning policy page. Releases older than 9.0 all reached end of life years ago and are not listed.
- PostgreSQL 18 — released September 25, 2025; end of life November 14, 2030.
- PostgreSQL 17 — released September 26, 2024; end of life November 8, 2029.
- PostgreSQL 16 — released September 14, 2023; end of life November 9, 2028.
- PostgreSQL 15 — released October 13, 2022; end of life November 11, 2027.
- PostgreSQL 14 — released September 30, 2021; end of life November 12, 2026.
- PostgreSQL 13 — released September 24, 2020; end of life November 13, 2025.
- PostgreSQL 12 — released October 3, 2019; end of life November 21, 2024.
- PostgreSQL 11 — released October 18, 2018; end of life November 9, 2023.
- PostgreSQL 10 — released October 5, 2017; end of life November 10, 2022.
- PostgreSQL 9.6 — released September 29, 2016; end of life November 11, 2021.
- PostgreSQL 9.5 — released January 7, 2016; end of life February 11, 2021.
- PostgreSQL 9.4 — released December 18, 2014; end of life February 13, 2020.
- PostgreSQL 9.3 — released September 9, 2013; end of life November 8, 2018.
- PostgreSQL 9.2 — released September 10, 2012; end of life November 9, 2017.
- PostgreSQL 9.1 — released September 12, 2011; end of life October 27, 2016.
- PostgreSQL 9.0 — released September 20, 2010; end of life October 8, 2015.
How PostgreSQL Versioning Works — The 5-Year Policy
PostgreSQL's support model is refreshingly simple, and understanding it removes almost all the guesswork from EOL planning.
Each major version is supported for five years. Since PostgreSQL 10, the major version is a single number (10, 11, 12 … 18). A new major release ships roughly every September or October, and each one receives bug fixes and security updates for five years from its release. End of life always falls in mid-November of the fifth year.
Minor releases are not new versions — they are patches. PostgreSQL 16.14 is not a different version from 16.2; it is PostgreSQL 16 with the latest cumulative fixes. Minor releases ship quarterly and you should always run the latest minor for your major. Upgrading a minor (16.13 to 16.14) is a simple binary swap with no data migration. Upgrading a major (14 to 17) is a real migration project — that distinction is the whole game.
PostgreSQL 14 — EOL November 12, 2026
PostgreSQL 14 was released in September 2021, bringing major performance gains for heavy workloads, improvements to logical replication, query parallelism, and the addition of the multirange data type. It became one of the most widely adopted PostgreSQL versions and is still extremely common in production.
Its five-year support window closes November 12, 2026. After that date the PostgreSQL Global Development Group stops issuing fixes for 14 — including security fixes. The EOL Risk Score™ of 45 (live value) reflects that approaching date; the moment November 12 passes, the score jumps as the days-past-EOL factor kicks in (PostgreSQL 13 sits at 60 for exactly this reason).
Target version: Upgrade to PostgreSQL 16 (supported to Nov 2028), 17 (Nov 2029), or 18 (Nov 2030). Most teams jump straight to 17 for the longest practical runway on a well-proven release.
PostgreSQL 13 — Already Past EOL
PostgreSQL 13 reached end of life on November 13, 2025. It no longer receives any updates from the PostgreSQL project, including security patches. Its EOL Risk Score™ of 60 (live value) reflects that it is now past EOL with a broad attack surface and CISA KEV presence — and that score will keep climbing the longer it runs unpatched.
If you are still on 13, you are in the same position 14 users will be in on November 12, 2026, except the clock has already run out. Treat this as a priority migration: move to a supported major (16, 17, or 18) without waiting for a 14-style deadline, because for 13 the deadline has passed.
Target version: PostgreSQL 17 or 18. The 13 to 17 path is well-trodden and the version gap is manageable with pg_upgrade.
PostgreSQL 16 — End of Life November 9, 2028
PostgreSQL 16 is comfortably in support until November 9, 2028 — over two years of runway. It is a mature, widely-deployed release with a long point-release history, which makes it a safe place to be sitting today and a reasonable upgrade target for teams that want proven stability over the newest features. Its live 30 reflects PostgreSQL's database-class attack surface, not any support gap.
Good for: production deployments that want maximum maturity. No action needed for years — but note that 17 and 18 carry longer runways if you are provisioning something new.
PostgreSQL 15 — End of Life November 11, 2027
PostgreSQL 15 reaches end of life on November 11, 2027. It is still supported today, but it is the next major version to age out after 14 — so if you are on 15, you have roughly a year longer than 14 users before the same deadline arrives. Plan the move to 17 or 18 sometime in 2026–27 rather than waiting for 2027's final months. Live score: 30.
Good for: current production, with a migration on the two-year horizon. Managed-database clocks differ — RDS and Azure retire community versions on their own schedules, covered below.
PostgreSQL 17 & 18 — Current Upgrade Targets
PostgreSQL 17 (released September 2024) and PostgreSQL 18 (September 2025) are the current modern releases and the right destinations for any upgrade today. Both carry live scores (30 and 30) — that number reflects PostgreSQL's inherent attack surface and CISA KEV presence as a database class, not their support status. Both are actively maintained with the recency factor at zero.
17 is the conservative, battle-tested choice with nearly a year of point releases behind it and support through November 2029. 18 is the newest, with the longest runway (to November 2030) and the latest features, but slightly less production mileage. For most teams migrating off 13 or 14, PostgreSQL 17 hits the best balance of maturity and runway.
Good for: All production deployments. Whichever you choose, you will not face another major upgrade for four to five years.
PostgreSQL vs MySQL — EOL Implications
PostgreSQL and MySQL are the two most common open-source relational databases, and many teams run both. Their EOL models, however, are completely different — and confusing one for the other leads to missed deadlines. See the full MySQL EOL guide for that side.
PostgreSQL is predictable; MySQL is not. PostgreSQL gives every major version a clean five-year window with a November EOL. MySQL splits releases into long-lived LTS versions (like 8.4) and short-lived quarterly Innovation releases (the 9.x series) that EOL within months — so a "newer" MySQL version can be far less supported than an older one. With PostgreSQL, the higher number is always the safer bet; with MySQL, that is not true.
They are not interchangeable at EOL. A PostgreSQL 14 EOL date tells you nothing about your MySQL or MariaDB versions, and vice versa. Track each engine's dates separately. If you run a mixed estate, the Stack Scanner will surface every database version's status at once rather than making you check three policies by hand.
Managed PostgreSQL follows the community dates — and enforces them. Amazon RDS and Aurora PostgreSQL, Azure Database for PostgreSQL, and Google Cloud SQL all track the community EOL schedule, and most will force an automatic major-version upgrade after the community EOL date if you have not upgraded yourself. That is convenient until it happens during business hours unannounced — confirm your provider's forced-upgrade policy with the EOL Checker and upgrade on your own terms first.
PostgreSQL currently carries an EOL Risk Score™ of 60/100 — Grade C, elevated risk, recalculated at every site build from EOL recency, attack surface, CISA KEV exposure, and extended-support availability. Per-version scores and dates are on the PostgreSQL lifecycle page.
The right response comes down to one question: how many more years does this system need to run? Under a year, extended support (where it exists) is usually cheaper than an emergency migration. One to three years, migrate — support fees paid repeatedly cost more than doing the project once. Indefinitely, migrate now and plan the next one before it surprises you. Extended support is often the more expensive choice over a multi-year horizon — a bridge, not a destination. And if this deadline feels like vendor caprice, it isn’t — why end of life is inevitable for every version, with the receipts.
Managed PostgreSQL — RDS, Aurora and Azure Run Different Clocks
The community date is not always your date. Amazon RDS for PostgreSQL and Aurora PostgreSQL end standard support for a major version on their own schedule — roughly three months after the community date — and then move the instance into RDS Extended Support, which keeps critical fixes flowing for up to three more years at an additional per-vCPU-hour charge, automatically, unless you upgrade first. Azure Database for PostgreSQL Flexible Server retires versions on or near the community date - for PostgreSQL 14, Microsoft's version-policy table sets December 11, 2026, a month past the community EOL. If your PostgreSQL is managed, plan against the row below, not the community table.
| Service | PostgreSQL 13 | PostgreSQL 14 | PostgreSQL 15 | PostgreSQL 16 |
|---|---|---|---|---|
| Community (PGDG) | Nov 13, 2025 | Nov 12, 2026 | Nov 11, 2027 | Nov 9, 2028 |
| Amazon RDS for PostgreSQL standard / Extended Support end | Feb 28, 2026 / Feb 28, 2029 | Feb 28, 2027 / Feb 28, 2030 | Feb 29, 2028 / Feb 28, 2031 | Feb 28, 2029 / Feb 29, 2032 |
| Amazon Aurora PostgreSQL standard / Extended Support end | Feb 28, 2026 / Feb 28, 2029 | Feb 28, 2027 / Feb 28, 2030 | Feb 29, 2028 / Feb 28, 2031 | Feb 28, 2029 / Feb 28, 2032 |
| Azure Database for PostgreSQL | Jul 31, 2026 | Dec 11, 2026 | Nov 11, 2027 | Nov 9, 2028 |
The RDS pattern is worth stating plainly: a PostgreSQL 14 instance on RDS keeps working after November 12, 2026, keeps working after February 28, 2027 — and starts billing Extended Support from March 2027 without any action on your part. Extended Support is a bridge priced to encourage the upgrade, not a place to live; the RDS Extended Support charge over three years typically exceeds the cost of the upgrade project several times over.
How to Upgrade Safely
-
01Confirm your current major and minor version Run
SELECT version();. The major number (13, 14, 15 …) determines your EOL date — cross-reference it against the table above. Also confirm you are on the latest minor for your major; if not, apply the minor update first, as it is a simple binary swap with no migration. -
02Choose your target major version For most teams: PostgreSQL 17 for the best balance of maturity and runway, or 18 for maximum runway. You can upgrade directly across multiple major versions (13 → 17 in one step), so there is no need to hop through each intermediate release.
-
03Pick an upgrade method
pg_upgradeis the standard in-place path and is fast even on large databases (use--linkmode to avoid copying data files). For near-zero downtime, use logical replication to stand up the new version alongside the old and cut over.pg_dump/pg_restoreis the simplest but slowest, best for smaller databases. -
04Check extension compatibility first Extensions are the most common upgrade blocker. Confirm that PostGIS, pg_stat_statements, pgvector, and any others you depend on have releases supporting your target version — and that the target's package repository ships them. An incompatible extension can hard-block
pg_upgrade. -
05Test on a clone and watch for deprecations Restore a copy at the new version and run your full application test suite. Watch for removed configuration parameters, changed defaults, collation/locale changes (a frequent source of index corruption across upgrades), and any reliance on deprecated functions. Resolve every issue in the clone before touching production.
-
06Back up before every step and re-ANALYZE after Take a verified backup (
pg_dumpor a base backup) before you begin and confirm it restores. Afterpg_upgrade, runANALYZEacross the cluster to rebuild planner statistics — skipping this is a classic cause of post-upgrade performance regressions that get blamed on the new version.
How to Check Your PostgreSQL Version
SELECT version();— full version string of the server you are connected to;SHOW server_version;for just the number.psql --versionandpg_config --version— the client and the installed binaries (which can differ from the server you connect to).- Managed services: the engine version is on the instance/cluster page and in
aws rds describe-db-instancesoraz postgres flexible-server show.
The first number is the major (14, 15, 16 …) and decides the end-of-life date; the second is the minor patch level, which should always be the latest for your major. Fleet-wide, the EOL Checker takes a version and returns status and date; the Stack Scanner flags PostgreSQL alongside the OS and application runtimes that each have their own clock.
Your Options When a PostgreSQL Version Reaches EOL
- Upgrade to 17 or 18. The default answer.
pg_upgradein place, or logical replication for near-zero downtime; direct multi-major jumps are supported. Resets the clock to 2029–2030. - Managed extended support. RDS and Aurora enroll retired majors in RDS Extended Support automatically (up to three years, billed per vCPU-hour) — a bridge that costs more than the upgrade over its lifetime.
- Third-party extended support. Independent vendors sell security and corruption fixes for retired PostgreSQL majors on self-managed clusters; see extended support options.
- Isolate and schedule. Where the database is being retired anyway, restrict network access, freeze schema changes, and set the retirement date.
The right choice comes down to how many more years the database has to run: under a year, a bridge; one to three, migrate once; indefinitely, get to 18 now and put November 2030 in the calendar.
Frequently Asked Questions
When does PostgreSQL 14 reach end of life?
November 12, 2026. PostgreSQL 14 was released September 30, 2021, and every PostgreSQL major version is supported for five years, with the final minor release shipping on the November update. After November 12, 2026 the PostgreSQL Global Development Group issues no further fixes for 14, including security and data-corruption fixes.
Is PostgreSQL 13 still supported?
No. PostgreSQL 13 reached end of life on November 13, 2025; its final release was 13.23. On Amazon RDS and Aurora, PostgreSQL 13 left standard support on February 28, 2026 and is now in paid RDS Extended Support (to February 28, 2029). On Azure Database for PostgreSQL it retired July 31, 2026.
How long is each PostgreSQL version supported?
Five years from its initial release. A new major version ships every September or October, and each is supported until the November five years later — PostgreSQL 15 to November 11, 2027, 16 to November 9, 2028, 17 to November 8, 2029, 18 to November 14, 2030. Minor releases ship quarterly and are cumulative patches, not new versions.
Which PostgreSQL version should I upgrade to in 2026?
PostgreSQL 17 or 18. PostgreSQL 18 (released September 25, 2025) has the longest runway, to November 14, 2030; 17 runs to November 8, 2029 and has had a year of production hardening. You can upgrade directly across several majors with pg_upgrade or logical replication — 14 to 18 in one step is normal — so there is no reason to stop at 15 or 16.
Does Amazon RDS follow the community PostgreSQL EOL date?
Not exactly. RDS for PostgreSQL and Aurora PostgreSQL end standard support for a major about three months after the community date — PostgreSQL 14 on February 28, 2027 — and then automatically enroll the instance in RDS Extended Support, which is billed per vCPU-hour and lasts up to three years (to February 28, 2030 for PostgreSQL 14). Azure Database for PostgreSQL retires versions close to the community date - usually the same day, though Microsoft's own table is the authority and can differ: PostgreSQL 14's Azure end date is December 11, 2026, about a month after the community EOL.
What happens if I keep running PostgreSQL 14 after November 12, 2026?
The database keeps running, but every bug fixed in later releases — including security vulnerabilities and data-corruption fixes — stays unfixed on 14. Extension authors drop support for retired majors quickly, so upgrades of PostGIS, pgvector and similar become blocked as well. Compliance frameworks treat an unsupported database as a control failure. Third-party vendors sell extended support for retired PostgreSQL majors if you genuinely cannot move in time.
How do I check my PostgreSQL version?
Run SELECT version(); or SHOW server_version; in psql, or psql --version and pg_config --version from the shell. The first number (14, 15, 16 …) is the major version that decides your end-of-life date; the second is the minor patch level, which should always be the latest for your major.
How do I upgrade a PostgreSQL major version?
pg_upgrade is the standard in-place path and is fast even on large clusters (use --link mode to avoid copying data files); logical replication lets you stand up the new version alongside the old one and cut over with near-zero downtime. Check extension compatibility first, test on a restored clone, back up before every step, and run ANALYZE after pg_upgrade to rebuild planner statistics.
When do PostgreSQL 15, 16, 17 and 18 reach end of life?
Each major version gets five years: PostgreSQL 15 reaches end of life on November 11, 2027, PostgreSQL 16 on November 9, 2028, PostgreSQL 17 on November 8, 2029 and PostgreSQL 18 on November 14, 2030. The final minor release ships on the November date and the version is unsupported after it.
Is PostgreSQL 12 still supported?
No. PostgreSQL 12 reached end of life on November 21, 2024, PostgreSQL 11 on November 9, 2023 and PostgreSQL 10 on November 10, 2022. None of them receives security fixes; the community's guidance is to upgrade to a supported major version and run its current minor release.
Is there extended support for PostgreSQL 13 or 14 after end of life?
Not from the PostgreSQL community, whose support ends with the final minor release. Commercial PostgreSQL vendors sell security patches for versions past the community date, usually per year, as a bridge for databases that cannot be upgraded by the deadline; managed services also run their own clocks, for example Amazon RDS Extended Support. Whether a bridge beats an upgrade depends on how many more years the database has to run; the form on this page matches options.
Check your full database stack for EOL exposure
PostgreSQL is one component. Check your OS, runtime, and application dependencies too — free, no signup required.
Scan your stack Check a version Risk Score methodology