Introducing Amazon RDS Extended Support for Amazon Aurora PostgreSQL and Amazon RDS for PostgreSQL 11
Amazon Aurora PostgreSQL-Compatible Edition and Amazon Relational Database Service (Amazon RDS) for PostgreSQL major versions are supported at least until the community end-of-life for the corresponding community versions. When the community PostgreSQL major version reaches its end of life, no further updates, security patches, or bug fixes are released by the community. Aurora PostgreSQL 11 clusters and RDS for PostgreSQL 11 instances have an end of standard support date of February 29, 2024. Upgrading to a new major version can be disruptive, especially if you have a large fleet of database instances in a production environment or legacy applications that are dependent upon a specific major version or a particular extension version. However, running an unsupported version of PostgreSQL after its end-of-life could leave your data vulnerable and exposed.
AWS has announced Amazon RDS Extended Support for PostgreSQL 11 so that you can upgrade to a new major version at a pace that meets your requirements. On Amazon RDS Extended Support, you can stay on major versions for up to 3 years after the end of standard support. We strongly encourage customers to upgrade their PostgreSQL 11 to a newer version such as PostgreSQL 15, which comes with several new features and enhancements, including the SQL standard “MERGE” command for conditional SQL queries, performance improvements for both in-memory and disk-based sorting, and support for two-phase commit and row/column filtering for logical replication.
In this post, we discuss what Amazon RDS Extended Support entails, its key benefits, and upgrade options to Aurora PostgreSQL 15 and Amazon RDS for PostgreSQL 15.
What is Amazon RDS Extended Support?
RDS Extended Support is a paid offering where RDS provides critical security and bug fixes for an Aurora PostgreSQL or RDS for PostgreSQL major version for up to three years past the Amazon RDS end of standard support date. The prices charged for Amazon RDS Extended Support depend on how many years have passed since Amazon RDS standard support expired. Understanding RDS Extended Support will help you make an informed decision if Extended Support is the right option for your application. Although the Amazon RDS Extended Support period provides you extra time to plan and test upgrades on your own timelines, you should treat Feb 28, 2027 as the end date for your production systems. Use the Amazon RDS Extended Support window wisely to find the right upgrade path for your databases and applications. This can help you streamline your upgrade process for your production environment. Testing early allows time to fix compatibility issues before they impact customers.
Amazon RDS Extended Support for RDS offers the following features:
- Continued security updates for CRITICAL and HIGH CVEs.
- Bug fixes and patches for critical issues.
- Ability to open support cases and get troubleshooting help within standard Amazon RDS
This allows you to keep running mature, stable PostgreSQL 11 releases with confidence until the Amazon RDS Extended Support period ends. For more information about Amazon RDS Extended Support pricing, see Amazon Aurora pricing and Amazon RDS pricing.
The following table summarizes the PostgreSQL community end of standard support date (EoS) and Amazon RDS Extended Support (ES) pricing dates. This is applicable to Amazon Aurora for PostgreSQL-Compatible provisioned, Aurora Serverless V2 and Amazon RDS for PostgreSQL:
Note: RDS Extended Support for PostgreSQL 11 starts on March 1, 2024, but will not be charged until April 1, 2024. Between March 1 and March 31, all PostgreSQL 11 instances on Aurora and RDS are covered under RDS Extended Support.
If you don’t opt for Amazon RDS Extended Support for your Aurora PostgreSQL 11 or Amazon RDS for PostgreSQL 11 before the Aurora or Amazon RDS end of standard support (EoS) date, then your Aurora and RDS clusters or instances will be automatically upgraded to an appropriate minor version of Aurora PostgreSQL 15 and Amazon RDS for PostgreSQL 15 respectively. If you do not intend to enable Extended Support, we recommend you plan and manage your upgrade on your own. A major version upgrade could introduce compatibility issues or downtime if applications are not ready for PostgreSQL 15. Opting into Amazon RDS Extended Support gives you additional time to organize, plan and test your database upgrades.
When do you need Amazon RDS Extended Support?
RDS Extended Support allows organizations to plan upgrades on their own timeline, giving flexibility on when to transition to new major versions while continuing to receive critical security and bug fixes from AWS. Applications that take advantage of the latest features and capabilities may want to consider upgrading to PostgreSQL 15 before Aurora or RDS end of standard support dates. Before we highlight key PostgreSQL 15 advantages, let’s discuss scenarios where RDS Extended Support may be useful for you.
- Application dependencies – Certain applications may have specific dependencies on Aurora PostgreSQL 11 or Amazon RDS for PostgreSQL 11, such as compatibility with certain plugins or custom features. At times, applications can also have dependency on a specific extension version that might not be available in the upgraded major version. Migrating these applications to a newer version can be a complex and time-consuming process. With Amazon RDS Extended Support for PostgreSQL 11, businesses can continue using their current database version without interrupting application workflows while they strategize and test for compatibility with Aurora PostgreSQL 15 or Amazon RDS for PostgreSQL 15.
- Self-managed PostgreSQL – For customer running self-managed PostgreSQL 11 on-premises or on EC2, maintaining community versions past end of standard support poses operational burdens and risks. Instead, you can migrate to Aurora PostgreSQL or RDS for PostgreSQL 11 with RDS Extended Support enabled. This provides ongoing security patches and Amazon RDS fixes for critical issues even after the community end-of-life date. By migrating to a managed service with RDS Extended Support rather than operating unsupported versions, you can benefit from continued protections in a more secure solution.
- Large fleet requirements – In large-scale environment, migrating a significant number of databases to a new version can be logistically challenging. RDS Extended Support for Aurora PostgreSQL 11 and Amazon RDS for PostgreSQL 11 allows businesses to phase the migration process, ensuring a smooth transition without overwhelming IT resources. This phased approach enables organizations to test and validate the impact of upgrades on subsets of their fleet before completing the entire migration.
If these situations apply to you, or you can’t complete upgrades until Aurora EoS and Amazon RDS EoS (see the preceding image) for your Aurora PostgreSQL 11 and Amazon RDS for PostgreSQL 11 clusters and instances, respectively, you can opt into Amazon RDS Extended Support. To enable Amazon RDS Extended Support, use the AWS Management Console, AWS CLI, or Amazon RDS APIs.
Although Amazon RDS Extended Support helps you schedule your upgrade on your own timelines, sticking with older versions indefinitely means missing out on the optimum price-performance for your workload. Next, we’ll discuss the reasons to move forward with PostgreSQL 15 for systems that are able.
Key benefits of upgrading to Aurora PostgreSQL 15 and Amazon RDS for PostgreSQL 15
Upgrading to Aurora PostgreSQL 15 provides several advantages over sticking with the Aurora PostgreSQL 11:
- Community enhancements: It provides access to PostgreSQL 15 features, which includes the SQL standard “MERGE” command for conditional SQL queries, performance improvements for both in-memory and disk-based sorting, and support for two-phase commit and row/column filtering for logical replication. For more information, refer to “Amazon Aurora now supports PostgreSQL 15”.
- pgvector extension: The pgvector extension is available on Aurora PostgreSQL 15.3, 14.8, 13.11, 12.15 and higher. pgvector extension stores embeddings (which are numerical representations or vectors created from generative AIthat captures the semantic meaning of text input into a large language model (LLM)) from machine learning (ML) models in your database and to carry out efficient similarity searches.
- Aurora I/O Optimized: Aurora PostgreSQL 15.2 and higher supports Aurora I/O Optimized configuration that offers improved price-performance and predictable pricing and up to 40% costs savings for customers with I/O-intensive applications where I/O charges exceed 25% of the total Aurora database spend. This increases throughput and reduces latency for your most demanding workloads.
- Aurora Serverless v2: Aurora PostgreSQL 13.6, 14.3, 15.2 and higher supports Amazon Aurora Serverless v2 which scales instantly, automatically, and on-demand to support the most demanding applications and delivers upto 90% cost savings compared to provisioning for peak capacity.
- TLE support: Aurora PostgreSQL 15 supports Trusted Language Extensions for PostgreSQL (TLE), which is an open-source development kit for building and running high performance PostgreSQL extensions. It provides database administrators control over who can install extensions and a permissions model for running them, letting application developers deliver new functionality as soon as they determine that an extension meets their needs. For more information, refer to New – Trusted Language Extensions for PostgreSQL on Amazon Aurora and Amazon RDS.
- AWS Graviton3 support: Aurora PostgreSQL 15.2 and higher supports AWS Graviton3-based R7g instances. These instances provide up to 30% performance improvement and up to 20% price-performance improvement over Graviton2 instances for Aurora depending on workload, database engine, and version.
- Babelfish for Aurora PostgreSQL: Babelfish for Aurora PostgreSQL extends your Aurora PostgreSQL database clusters with the ability to accept database connections from SQL Server clients. Aurora PostgreSQL 15.2 and Aurora PostgreSQL 15.3 provide support for Aurora Babelfish 3.1 and Aurora Babelfish 3.2, These releases add new features such as Kerberos support with Active Directory, support for Linked Servers, and various other capabilities, security enhancements, and fixes.
Upgrading to Amazon RDS for PostgreSQL 15 provides several advantages over sticking with Amazon RDS for PostgreSQL 11:
- Community enhancements: Amazon RDS for PostgreSQL 15 allows access to PostgreSQL 15 capabilities such as the SQL standard “MERGE” command for conditional SQL queries, performance improvements for both in-memory and disk-based sorting, and support for two-phase commit and row/column filtering for logical replication. Additionally, the PostgreSQL 15 release adds support for new extensions like pg_walinspect and server-side compression with Gzip, LZ4, or Zstandard (zstd) using pg_basebackup. For more information, refer to “Amazon RDS for PostgreSQL now supports major version PostgreSQL 15”.
- Amazon RDS Optimized Reads: Amazon RDS for PostgreSQL 15 offers Amazon RDS Optimized Reads for up to two-times faster query processing as compared to the previous generation instances. Complex queries that utilize temporary tables such as high-load joins, common table expressions, and more can now run up to twice as fast with this feature.
- Amazon RDS Multi-AZ DB clusters (with two readable standbys): Amazon RDS for PostgreSQL 15 supports Multi-AZ DB cluster deployments, which is a high availability, semi-synchronous deployment mode that consists of a writer DB instance and two reader DB instances in three different Availability Zones within the same AWS Region.
- pgvector extension: The pgvector extension is available in Amazon RDS for PostgreSQL 15.2 and higher. This extension lets you store embeddings from ML models in your database as well as perform similarity searches. With this extension, you can also store and search embeddings from Amazon Bedrock, Amazon SageMaker, and more.
- HypoPG extension: The HypoPG extension is supported by Amazon RDS for PostgreSQL 15.3 and higher. This extension facilitates creating hypothetical indexes that lets you test the performance impact of an index on query plans before you build it.
- AWS Graviton3 support: Amazon RDS for PostgreSQL 15 supports AWS Graviton3-based M7g and R7g DB instances, which provide up to a 30% performance improvement and up to a 27% price/performance improvement (based on on-demand pricing) over AWS Graviton2-based instances on Amazon RDS for open-source databases depending on the database engine, version, and workload.
Upgrade options from Aurora PostgreSQL 11 and Amazon RDS for PostgreSQL 11
Upgrading from PostgreSQL 11 to PostgreSQL 15 involves a major version upgrade that can contain database changes that aren’t backward-compatible with existing applications. You must manually modify your database instance to upgrade the major version. It is strongly recommended that you thoroughly test any major version upgrade on non-production instances before applying it to production to ensure compatibility with your applications. There are various options to perform a major version upgrade:
- In-place upgrade: Both Aurora PostgreSQL and Amazon RDS for PostgreSQL supports in-place upgrades which uses the pg_upgrade This method involves downtime during which applications won’t be able to establish a connection with the database but this is less complex than an out-of-place upgrade since you don’t have to modify application connection strings. It is strongly recommended that you thoroughly test any major version upgrade on nonproduction instances before applying it to production to ensure compatibility with your applications.
- Minimum downtime upgrades: Since the database engine upgrades using pg_upgrade requires downtime, customers use alternative approaches to minimize the downtime during the upgrades. Aurora PostgreSQL-Compatible and Amazon RDS for PostgreSQL supports AWS Database Migration Service (AWS DMS) with change data capture (CDC). This approach offers various advantages, like minimum downtime during the upgrade and continuous replication from the source version database to the target version, but you have to pay for AWS DMS for the duration it takes for the upgrade project to complete. Aurora PostgreSQL and Amazon RDS for PostgreSQL version 10 and higher also support PostgreSQL native logical replication which is a minimum downtime approach and supports continuous replication using CDC. The downtime is just how long it takes to point the application to the new database and there is no additional cost involved with using the logical replication. Alternatively, for Aurora PostgreSQL-Compatible database you can create a clone and set up a CDC task between the original and the clone cluster for continuous replication. Next, upgrade the clone cluster to the target version and cutover the application workload to connect to the upgraded database cluster. For more details, refer to the two-part blog post on Upgrade your Amazon RDS for PostgreSQL or Amazon Aurora PostgreSQL database: comparing upgrade approaches and using pglogical extension.
Amazon RDS Extended Support for PostgreSQL 11 provides businesses the flexibility to maintain a secure and reliable database environment while you plan for future upgrades. This approach is particularly beneficial for addressing application dependencies and large fleet requirements, where migrating to Aurora PostgreSQL 15 and Amazon RDS for PostgreSQL 15 may involve complexities and logistical challenges. Upgrading to Aurora PostgreSQL-Compatible or Amazon RDS for PostgreSQL offers numerous advantages, including enhanced performance, advanced features, and long-term support. Considering the impact on their applications and fleet, businesses should carefully evaluate the benefits and plan a comprehensive migration strategy. Whether continuing with Amazon RDS Extended Support for PostgreSQL 11 or upgrading to Aurora PostgreSQL 15 or Amazon RDS for PostgreSQL 15, AWS offers the flexibility and tools to ensure a robust and scalable cloud database environment for businesses of all sizes.
Verify if you can complete the upgrade your PostgreSQL 11 by February 28, 2024. If the upgrade will not be finished by then, remember you can opt in for RDS Extended Support between December, 2023 and February 28, 2024. This will provide additional time beyond February to complete the upgrade after PostgreSQL 11 reaches Amazon RDS end of standard support.
About the Authors
Rinisha Marar is an RDS PostgreSQL Solutions Architect specializing in both relational (RDS/Aurora PostgreSQL) and non-relational (Amazon QLDB) database services at Amazon Web Services. She helps customers by providing them technical and architectural guidance, solutions and recommendation on best practices when leveraging the AWS services.
Sukhpreet Kaur Bedi is a Database Specialist Solutions Architect with AWS focusing on Amazon RDS/Aurora PostgreSQL engines. She helps customers innovate on the AWS platform by building highly available, scalable, and secure database architectures.