Which PostgreSQL versions a Standard tier database can run, and how to upgrade between major versions.
Upgrading the Major Version
Minor versions are automatically upgraded during your database’s maintenance window.
New major versions introduce incompatible changes that might require you to modify the application code, the schema, or the database settings. Before you can upgrade your database instance, review the release notes of your target major version to determine the incompatibilities that you must address:
- PostgreSQL 18
- PostgreSQL 17
- PostgreSQL 16
- PostgreSQL 15
- PostgreSQL 14
- PostgreSQL 13
- PostgreSQL 12
- PostgreSQL 11
- PostgreSQL 10
Most extensions work on the upgraded database major version. Drop any extensions that are no longer supported in your target version. For example, drop the chkpass extension if you’re upgrading to PostgreSQL 11 or later versions.
Sometimes, upgrading to PostGIS version 3.1.7 or later can’t complete due to objects using deprecated functions.
This can block the upgrade operation.
To check the upgrade status, run SELECT PostGIS_full_version();.
If there are warnings present,
then drop any objects using the deprecated functions and update the PostGIS extension to any intermediate or higher version.
After you complete these actions, run the SELECT PostGIS_full_version(); command again.
Verify that no warnings appear. Then, proceed with the upgrade operation.
To learn more about upgrading your PostGIS extensions, see Upgrading PostGIS.
To upgrade the major version of your database, run:
gigalixir pg:upgrade -d $DATABASE_ID VERSION
This will start the upgrade process. If you are running any read-replicas, we will first stop the replication. The primary database will be upgraded first, then the replicas.
Versions prior to Postgres 13 must be upgraded to Postgres 13 before upgrading to Postgres 14 or later.
The upgrade process will result in downtime, as the database has to be restarted. The size of the database will determine the length of the upgrade time.
| Size | Typical Upgrade Time | with Read Replicas |
|---|---|---|
| 0.6 | 45 - 75 minutes | 90 - 150 minutes |
| 1.7 | 20 - 60 minutes | 40 - 120 minutes |
| 4+ | 10 - 30 minutes | 20 - 60 minutes |
Supported Versions
| Version | Extended Support | End-of-life | Highest Available Upgrade |
|---|---|---|---|
| POSTGRES_18 | 2030-12-28 | 2034-01-01 | N/A |
| POSTGRES_17 | 2029-12-28 | 2033-01-01 | POSTGRES_18 |
| POSTGRES_16 | 2028-12-28 | 2032-01-01 | POSTGRES_18 |
| POSTGRES_15 | 2027-12-28 | 2031-01-01 | POSTGRES_18 |
| POSTGRES_14 | 2026-12-28 | 2030-01-01 | POSTGRES_18 |
| POSTGRES_13 | 2025-12-28 | 2029-01-01 | POSTGRES_18 |
| POSTGRES_12 | 2024-12-28 | 2028-01-01 | POSTGRES_13 |
| POSTGRES_11 | 2024-12-28 | 2028-01-01 | POSTGRES_13 |
| POSTGRES_10 | 2024-12-28 | 2028-01-01 | POSTGRES_13 |
| POSTGRES_9_6 | 2024-12-28 | 2028-01-01 | POSTGRES_13 |
See Database Pricing for details. When a version reaches end-of-life, it will be automatically upgraded to the next version that is still supported.