The Deadline
May 31, 2026 β Amazon RDS will automatically upgrade PostgreSQL instances running deprecated minor versions during their next scheduled maintenance window. This is a mandatory engine upgrade with downtime.
If you have not upgraded proactively by this date, AWS will do it for you β at a time you may not control.
Affected Versions
| Major Version | Deprecated Minors | Auto-Upgrade Target |
|---|---|---|
| PostgreSQL 14 | 14.14, 14.15, 14.16, 14.17 | 14.20+ |
| PostgreSQL 15 | 15.9, 15.10, 15.11, 15.12 | 15.15+ |
| PostgreSQL 16 | 16.5, 16.6, 16.7, 16.8 | 16.11+ |
| PostgreSQL 17 | 17.1, 17.2, 17.3, 17.4 | 17.7+ |
| PostgreSQL 11 | 11.22-RDS.20241121 | End of life |
Since May 1, 2026, you can no longer create new instances on these versions via Console or CLI.
Why This Matters
Minor version upgrades usually include:
- Security patches for known CVEs
- Bug fixes that prevent data corruption or crashes
- Performance improvements from the PostgreSQL community
- Compliance alignment β running deprecated versions may violate your security baseline
The risk of not upgrading proactively is simple: AWS picks the maintenance window, and you get downtime when you are not ready.
Option 1: Blue/Green Deployment (Recommended)
AWS Blue/Green Deployments create a staging environment that replicates your production database, applies the upgrade, and then switches over with minimal downtime.
Step-by-Step
# 1. Create a Blue/Green deployment
aws rds create-blue-green-deployment \
--blue-green-deployment-name pg-upgrade-june2026 \
--source arn:aws:rds:us-east-1:025066287134:db:my-production-db \
--target-engine-version 16.11
# 2. Monitor the Green environment
aws rds describe-blue-green-deployments \
--blue-green-deployment-identifier pg-upgrade-june2026
# 3. Run your test suite against the Green endpoint
# 4. Switchover when ready (typically under 1 minute of downtime)
aws rds switchover-blue-green-deployment \
--blue-green-deployment-identifier pg-upgrade-june2026
# 5. Delete the old Blue environment after validation
aws rds delete-blue-green-deployment \
--blue-green-deployment-identifier pg-upgrade-june2026 \
--delete-targetBenefits
- Minimal downtime β switchover typically completes in under 1 minute
- Rollback capability β if something goes wrong, the Blue (original) is still there
- Test before cutover β run your full test suite against the Green environment
- No snapshot restore needed β replication keeps Green in sync
Option 2: Manual Minor Version Upgrade
For simpler setups or dev/staging environments:
# Apply immediately (causes downtime)
aws rds modify-db-instance \
--db-instance-identifier my-database \
--engine-version 16.11 \
--apply-immediately
# Or schedule for next maintenance window
aws rds modify-db-instance \
--db-instance-identifier my-database \
--engine-version 16.11 \
--no-apply-immediatelyOption 3: Terraform/IaC Update
If you manage RDS with Infrastructure as Code:
resource "aws_db_instance" "production" {
engine = "postgres"
engine_version = "16.11" # Updated from 16.8
# Apply during maintenance window
apply_immediately = false
}Run terraform plan to preview, then terraform apply during your scheduled maintenance.
Pre-Upgrade Checklist
Before upgrading any production database:
- Take a manual snapshot β safety net regardless of method
- Check extension compatibility β
SELECT * FROM pg_extension;and verify versions - Review pg_upgrade release notes β check for breaking changes between your current and target version
- Test application queries β run your ORM migrations and critical queries against the new version
- Check connection pooler compatibility β PgBouncer, RDS Proxy, or application-level pools
- Verify parameter group compatibility β custom parameters may need adjustment
- Schedule during low-traffic window β even Blue/Green has a brief switchover moment
- Notify your team β communicate the maintenance window
Finding Affected Instances
Check your AWS Health Dashboard:
# List all RDS PostgreSQL instances and their versions
aws rds describe-db-instances \
--query "DBInstances[?Engine=='postgres'].{ID:DBInstanceIdentifier,Version:EngineVersion,Status:DBInstanceStatus}" \
--output tableOr check the Affected resources tab in the AWS Health Dashboard.
PostgreSQL 11: End of Life
If you are still running PostgreSQL 11.22, this is not just a minor upgrade β PostgreSQL 11 reached community end of life in November 2023. You need a major version upgrade to 14, 15, 16, or 17.
Major version upgrades require more testing:
- Data type changes between major versions
- Deprecated functions and syntax
- Extension compatibility (PostGIS, pg_stat_statements, etc.)
- Application code changes for removed features
Use Blue/Green Deployments for major version upgrades as well β they handle the pg_upgrade process transparently.
Timeline Summary
| Date | What Happens |
|---|---|
| May 1, 2026 | Cannot create new instances on deprecated versions |
| May 31, 2026 | Deprecation deadline |
| After May 31 | Auto-upgrade during next maintenance window |