Home / Databases / PostgreSQL

DatabasesRunbookIntermediate

PostgreSQL 14 reaches end of life on 12 November 2026 - inventory, target version and upgrade plan for self-managed and managed databases

PostgreSQL 14 gets its last release in November 2026. After that, no security or bug fixes. Find every v14 instance, pick a target (17 or 18 for most), check extensions and application compatibility, and choose between pg_upgrade, logical replication and the cloud provider's major version upgrade.

Deepak Bhardwaj3 min read

Applies toPostgreSQL 14 (self-managed on Linux/Windows, Amazon RDS/Aurora, Azure Database for PostgreSQL flexible server, Cloud SQL, OCI Database with PostgreSQL); upgrade targets 15-18

Why now

PostgreSQL supports each major version for five years. Version 14's final minor release is due in November 2026 (12 November). After that, the community publishes no more fixes for 14, including security fixes.

Managed services set their own policies. Some move to paid extended support, some auto-upgrade, some require you to upgrade by a deadline. For example, Aiven says it will automatically upgrade services still on 14 where possible, and STACKIT requires moving to 15 or newer. Check your provider's announcement.

1. Find every v14

SELECT version();
SHOW server_version_num;   -- 14xxxx

Across clouds:

# AWS RDS
aws rds describe-db-instances --query "DBInstances[?Engine=='postgres' && starts_with(EngineVersion,'14')].[DBInstanceIdentifier,EngineVersion]" --output table
# Azure flexible server
az postgres flexible-server list --query "[?version=='14'].{name:name, rg:resourceGroup}" -o table

Don't forget logical replicas, reporting copies and containers (postgres:14 images in Compose and Helm charts).

2. Choose the target

Target Why
17 Mature, widely available on managed services, supported to late 2029
18 Newest supported major with broad availability; supported to 2030
15 / 16 Only if a dependency forces it; you'll be upgrading again soon

Skipping versions is fine: pg_upgrade and logical replication both go straight from 14 to 17 or 18. Read the release notes' "Migration" sections for every version you skip (15, 16, 17, 18).

Changes that commonly matter coming from 14:

  • PostgreSQL 15 removed CREATE permission on the public schema for all users by default in new databases. Applications that create objects in public with a non-owner role break in new databases.
  • Extensions must exist in the target version (PostGIS, pg_partman, pg_cron, TimescaleDB and so on). Check each one's supported versions.
  • Some configuration parameters were renamed or removed across these versions. Diff your postgresql.conf against the target's defaults.

3. Pick the method

Method Downtime Best for
pg_upgrade --link Minutes (plus ANALYZE) Self-managed, same host, can tolerate a short outage
Logical replication to a new server Seconds (switchover) Large or critical databases; also lets you change hardware
Managed in-place major version upgrade Minutes to an hour RDS, Azure flexible server, Cloud SQL
Managed blue/green (where offered) Short switchover RDS Blue/Green Deployments and similar

Step-by-step pg_upgrade: PostgreSQL major version upgrade with pg_upgrade.

4. Rehearse

  1. Restore a recent backup to a test server on 14.
  2. Upgrade it with the method you chose; time it.
  3. Run ANALYZE (or vacuumdb --all --analyze-in-stages) - statistics aren't carried over by pg_upgrade.
  4. Run the application's test suite and the top 20 queries by total time from pg_stat_statements; compare plans and timings.
  5. Fix what breaks, then schedule production.

5. After upgrading

  • Update extensions: ALTER EXTENSION <name> UPDATE;
  • Re-run ANALYZE.
  • Re-create replicas on the new version.
  • Update monitoring for any changed catalog views.
  • Remove the old cluster once backups on the new version are verified.

Checklist

  • All v14 instances found, including replicas and containers
  • Provider's v14 policy and deadline known
  • Target version chosen; release notes for skipped versions read
  • Extensions available for the target
  • Upgrade rehearsed on a restored copy; time measured
  • Post-upgrade ANALYZE, extension updates and replica rebuilds done

Sources