Amazon Aurora versions - Amazon Aurora

Amazon Aurora versions

Amazon Aurora reuses code and maintains compatibility with the underlying MySQL and PostgreSQL DB engines. However, Aurora has its own version numbers, release cycle, timeline for version deprecation and end of life, and so on. The following section explains the common points and differences. This information can help you to decide such things as which version to choose and how to verify which features and fixes are available in each version. It can also help you to decide how often to upgrade and how to plan your upgrade process.

Relational databases that are available on Aurora

The following relational databases are available on Aurora:

Differences in version numbers between community databases and Aurora

Each Amazon Aurora version is compatible with a specific community database version of either MySQL or PostgreSQL. You can find the community version of your database using the version function and the Aurora version using the aurora_version function.

Examples for Aurora MySQL and Aurora PostgreSQL are shown following.

mysql> select version(); +------------------+ | version() | +------------------+ | 5.7.12 | +------------------+ mysql> select aurora_version(), @@aurora_version; +------------------+------------------+ | aurora_version() | @@aurora_version | +------------------+------------------+ | 2.08.1 | 2.08.1 | +------------------+------------------+
postgres=> select version(); ----------------------------------------------------------------------------- PostgreSQL 11.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.9.3, 64-bit (1 row) postgres=> select aurora_version(); aurora_version ---------------- 3.2.2

For more information, see Checking Aurora MySQL versions using SQL and Identifying versions of Amazon Aurora PostgreSQL.

Amazon Aurora major versions

Aurora versions use the major.minor.patch scheme. An Aurora major version refers to the MySQL or PostgreSQL community major version that Aurora is compatible with. The following example shows the mapping between community MySQL and PostgreSQL versions and the corresponding Aurora versions.

Community major version Aurora major version
MySQL 5.6 Aurora MySQL 1
MySQL 5.7 Aurora MySQL 2
MySQL 8.0 Aurora MySQL 3
PostgreSQL 9.6 Aurora PostgreSQL 1
PostgreSQL 10 Aurora PostgreSQL 2
PostgreSQL 11 Aurora PostgreSQL 3
PostgreSQL 12 Aurora PostgreSQL 4
PostgreSQL 13 Not applicable. Aurora versions are no longer added to Aurora PostgreSQL version names.

Amazon Aurora minor versions

Aurora versions use the major.minor.patch scheme. An Aurora minor version provides incremental community and Aurora-specific improvements to the service, for example new features and bug fixes.

Aurora minor versions are always mapped to a specific community version. However, some community versions might not have an Aurora equivalent.

Amazon Aurora patch versions

Aurora versions use the major.minor.patch scheme. An Aurora patch version includes important bug fixes added to a minor version after its initial release (for example, Aurora MySQL 2.04.0, 2.04.1, ..., 2.04.9). While each new minor version provides new Aurora features, new patch versions within a specific minor version are primarily used to resolve important issues.

For more information on patching, see Maintaining an Amazon Aurora DB cluster.

Learning what's new in each Amazon Aurora version

Each new Aurora version comes with release notes that list the new features, fixes, other enhancements, and so on that apply to each version.

For Aurora MySQL release notes, see Database engine updates for Amazon Aurora MySQL version 2 and Database engine updates for Amazon Aurora MySQL version 1. For Aurora PostgreSQL release notes, see Amazon Aurora PostgreSQL releases and engine versions.

Specifying the Amazon Aurora database version for your database cluster

You can specify any currently available version (major and minor) when creating a new DB cluster using the Create database operation in the AWS Management Console, the AWS CLI, or the CreateDBCluster API operation. Not every Aurora database version is available in every AWS Region.

To learn how to create Aurora clusters, see Creating an Amazon Aurora DB cluster. To learn how to change the version of an existing Aurora cluster, see Modifying an Amazon Aurora DB cluster.

Default Amazon Aurora versions

When a new Aurora minor version contains significant improvements compared to a previous one, it's marked as the default version for new DB clusters. Typically, we release two default versions for each major version per year.

We recommend that you keep your DB cluster upgraded to the most current default minor version, because that version contains the latest security and functionality fixes.

Automatic minor version upgrades

You can stay up to date with Aurora minor versions by turning on Auto minor version upgrade for every DB instance in the Aurora cluster. Aurora only performs the automatic upgrade if all DB instances in your cluster have this setting turned on. Auto minor version upgrades are performed to the default minor version. We typically schedule automatic upgrades twice a year for DB clusters that have the Auto minor version upgrade setting set to Yes. These upgrades are started during the maintenance window that you specify for your cluster.

For more information, see Enabling automatic upgrades between minor Aurora MySQL versions and Automatic minor version upgrades for PostgreSQL.

How long Amazon Aurora major versions remain available

Amazon Aurora major versions are made available at least until community end of life for the corresponding community version. You can use the following dates to plan your testing and upgrade cycles. These dates represent the minimum support period for each Aurora version. If Amazon extends support for an Aurora version for longer than originally planned, this table will be updated to reflect the later date.

Database community version Aurora version Aurora version end of life no earlier than this date
MySQL 5.6 1 September 30, 2022
MySQL 5.7 2 February 29, 2024
MySQL 8.0 3
PostgreSQL 9.6 1 January 31, 2022
PostgreSQL 10 2 January 31, 2023
PostgreSQL 11 3 January 31, 2024
PostgreSQL 12 4 January 31, 2025
PostgreSQL 13 Not applicable January 31, 2026

Before the Aurora major version end of life and to help you plan, we provide a reminder at least 12 months in advance. We do so to communicate the detailed upgrade process. Details include the timing of certain milestones, the impact on your DB clusters, and the actions that we recommend that you take. We always recommend that you thoroughly test your applications against new database versions before performing a major version upgrade. After this 12-month period, an automatic upgrade to the subsequent major version might be applied to any database cluster still running the older version. If so, the upgrade is started during scheduled maintenance windows.

How often Amazon Aurora minor versions are released

In general, we release Amazon Aurora minor versions quarterly. The release schedule might vary to pick up additional features or fixes.

How long Amazon Aurora minor versions remain available

We intend to make each Amazon Aurora minor version of a particular major version available for at least 12 months. At the end of this period, Aurora might apply an auto minor version upgrade to the subsequent default minor version. Such an upgrade is started during the scheduled maintenance window for any cluster that is still running the older minor version.

We might replace a minor version of a particular major version sooner than the usual 12-month period if there are critical matters such as security issues, or if the major version has reached end of life.

Before beginning automatic upgrades of minor versions that are approaching end of life, we generally provide a reminder three months in advance. We do so to communicate the detailed upgrade process. Details include the timing of certain milestones, the impact on your DB clusters, and the actions that we recommend that you take.

Amazon Aurora long-term support for selected minor versions

For each Aurora major version, certain minor versions are designated as long-term-support (LTS) versions and made available for at least three years. That is, at least one minor version per major version is made available for longer than the typical 12 months. We generally provide a reminder six months before the end of this period. We do so to communicate the detailed upgrade process. Details include the timing of certain milestones, the impact on your DB clusters, and the actions that we recommend that you take.

LTS minor versions include only bug fixes (through patch versions). An LTS version doesn't include new features released after its introduction. Once a year, DB clusters running on an LTS minor version are patched to the latest patch version of the LTS release. We do this patching to help ensure that you benefit from cumulative security and stability fixes. We might patch an LTS minor version more frequently if there are critical fixes, such as for security, that need to be applied.

Note

If you want to remain on an LTS minor version for the duration of its lifecycle, make sure to turn off Auto minor version upgrade for your DB instances. To avoid automatically upgrading your DB cluster from the LTS minor version, set Auto minor version upgrade to No on all DB instances in your Aurora cluster.

For the version numbers of all Aurora LTS versions, see Aurora MySQL long-term support (LTS) releases and Aurora PostgreSQL long-term support (LTS) releases.

Manually controlling if and when your database cluster is upgraded to new versions

Auto minor version upgrades are performed to the default minor version. We typically schedule automatic upgrades twice a year for DB clusters that have the Auto minor version upgrade setting set to Yes. These upgrades are started during customer-specified maintenance windows. If you want to turn off automatic minor version upgrades, set Auto minor version upgrade to No on any DB instance within an Aurora cluster. Aurora performs an automatic minor version upgrade only if all DB instances in your cluster have the setting turned on.

Because major version upgrades involve some compatibility risk, they don't occur automatically. You must initiate these, except in the case of a major version upgrade due to end of life, as explained earlier. We always recommend that you thoroughly test your applications with new database versions before performing a major version upgrade.

For more information about upgrading a DB cluster to a new Aurora major version, see Upgrading Amazon Aurora MySQL DB clusters and Upgrading the PostgreSQL DB engine for Aurora PostgreSQL.

Required Amazon Aurora upgrades

For certain critical fixes, we might perform a managed upgrade to a newer patch level within the same minor version. These required upgrades happen even if Auto minor version upgrade is turned off. Before doing so, we communicate the detailed upgrade process. Details include the timing of certain milestones, the impact on your DB clusters, and the actions that we recommend that you take. Such managed upgrades are performed automatically. Each such upgrade is started within the cluster maintenance window.

Testing your DB cluster with a new Aurora version before upgrading

You can test the upgrade process and how the new version works with your application and workload. Use one of the following methods:

  • Clone your cluster using the Amazon Aurora fast database clone feature. Perform the upgrade and any post-upgrade testing on the new cluster.

  • Restore from a cluster snapshot to create a new Aurora cluster. You can create a cluster snapshot yourself from an existing Aurora cluster. Aurora also automatically creates periodic snapshots for you for each of your clusters. You can then initiate a version upgrade for the new cluster. You can experiment on the upgraded copy of your cluster before deciding whether to upgrade your original cluster.

For more information on these ways to create new clusters for testing, see Cloning a volume for an Aurora DB cluster and Creating a DB cluster snapshot.