On 12 November 2026 the PostgreSQL community ships the last update to version 14. RDS and Aurora keep standard support until 28 February 2027. From 1 March a database enrolled in Extended Support moves onto paid support. Enrolment is the default when you create the database through the API, CLI or Terraform; in the console you have to tick it. A database that isn’t enrolled is upgraded by AWS to a newer version on or shortly after 1 March, at a time you don’t choose.
Check which PostgreSQL version your databases are on. Move anything on 14 to PostgreSQL 18: before 12 November on your own server, before the end of February on AWS.
Deadlines and the cost of Extended Support
After 12 November a database on 14 keeps running, but the community won’t patch the next security hole found in it.
AWS hasn’t published Extended Support rates for version 14 on provisioned RDS and Aurora instances yet. For version 13 in Frankfurt, the AWS price list on 29 September 2026 gives about $178 a month on a small db.t4g.medium instance with 2 vCPUs. The instance itself costs about $54 a month on demand, so Extended Support costs more than three times as much as the instance.
How to check the version
This command lists the Postgres databases in one AWS region:
aws rds describe-db-instances \
--query "DBInstances[?contains(Engine, 'postgres')].[
DBInstanceIdentifier,
Engine, EngineVersion,
EngineLifecycleSupport]" \
--output table
The last column tells you whether the database is enrolled in Extended Support. Aurora keeps that setting on the cluster, so check it with aws rds describe-db-clusters. Add --region to check the other regions.
To see the version on your own server or in Docker, run one of these:
# self-hosted
sudo -u postgres psql -c 'SELECT version()'
# Docker
docker exec <container> postgres --version
Version 18 or 17
You can upgrade from 14 straight to 18. I recommend 18 because it is supported until November 2030, a year longer than 17. It is already available on RDS and Aurora, while 19 is still in testing: beta 4 came out on 24 September 2026.
Choose 17 only if your application, your ORM or one of your extensions doesn’t work with 18 yet.
How to upgrade
On your own server, install the 18 binaries alongside 14 and run pg_upgrade --check on a copy of the database. With --check, pg_upgrade only inspects the old and new installations and lists what to fix. Before the real upgrade, take a backup and make sure you can restore it.
In Docker, changing the image tag from 14 to 18 won’t upgrade the database. Stop the application and move the data with pg_dumpall into a container running 18 on a separate volume. Keep the old volume until testing is done.
On RDS and Aurora, take a snapshot, restore a copy from it, upgrade the copy and test your application against it. Upgrade production only after that, in a maintenance window, because the database is unavailable during a major version upgrade. Time the upgrade on the copy to see roughly how long production will be down.
After the upgrade, run ANALYZE in every database. On RDS and Aurora the upgrade drops the planner statistics entirely, and on your own server pg_upgrade doesn’t keep all of them.
When to upgrade
If you run 14 on your own server or in Docker, plan the upgrade for October or early November. I can do it as part of server maintenance.
On RDS and Aurora you have until 28 February. Plan it for January, which leaves February for fixes.
If you’re on 15 or newer, there’s nothing to do this year. The community supports 15 until November 2027.
The community no longer supports 13 or older, and on RDS, standard support for 13 ended on 28 February 2026. If the database is enrolled in Extended Support, the default for the API, CLI and Terraform, you’re already paying for it.
3 ways I can help
- What EC2-Other means on your AWS bill
Read this post next.
- Maintenance with alerts
Maintenance with alerts. I respond during business hours, in the same time zone as Berlin (CET/CEST), and take critical incidents in the evening too, until 22:00. A monthly contract, no annual lock-in.
- Email me
Or directly to jacob@codelevel.pl. I reply within 1 business day.