DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workkloads.

Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • Database Query Service With OpenAI and PostgreSQL in .NET
  • Formulating a Robust Strategy for Storage in Amazon Relational Database Service PostgreSQL Deployments
  • Point-In-Time Recovery (PITR) in PostgreSQL
  • Data Privacy and Security: A Developer's Guide to Handling Sensitive Data With DuckDB

Trending

  • How to Format Articles for DZone
  • Scalable System Design: Core Concepts for Building Reliable Software
  • Stateless vs Stateful Stream Processing With Kafka Streams and Apache Flink
  • From Fragmentation to Focus: A Data-First, Team-First Framework for Platform-Driven Organizations
  1. DZone
  2. Data Engineering
  3. Databases
  4. PostgreSQL 12 End of Life: What to Know and How to Prepare

PostgreSQL 12 End of Life: What to Know and How to Prepare

It covers Amazon RDS Extended Support, upgrade options, and the benefits of migrating to PostgreSQL 16, emphasizing the importance of timely upgrades.

By 
Vivek Singh user avatar
Vivek Singh
·
Feb. 26, 25 · Analysis
Likes (1)
Comment
Save
Tweet
Share
4.1K Views

Join the DZone community and get the full member experience.

Join For Free

Amazon Aurora PostgreSQL-compatible edition major version 12.x and Amazon RDS for PostgreSQL 12 reach the end of standard support on February 28, 2025. Higher database versions introduce new features, enhancing operational efficiency and cost-effectiveness. 

Identifying qualified databases and upgrading them promptly is crucial. As the end of standard support is approaching, it's crucial for database administrators and developers to understand the implications and plan for the future. This article discusses PostgreSQL 12's end-of-standard support for Aurora and RDS PostgreSQL 12, Amazon RDS extended support, upgrade options, and the benefits of moving to PostgreSQL 16.

Understanding PostgreSQL End-of-Life

The PostgreSQL Global Development Group typically releases a new major version annually, introducing new features and improvements. Concurrently, older versions reach their end of life (EOL) after about five years of support. PostgreSQL 12, released in October 2019, is scheduled to reach its end of life in November 2024.

When a PostgreSQL version reaches EOL, it no longer receives updates, bug fixes, or security patches from the community. This lack of support can leave databases vulnerable to security risks and performance issues, making it essential for users to upgrade to newer, supported versions.

Aurora and RDS PostgreSQL End-of-Standard Support

For users of Amazon Aurora and Amazon RDS PostgreSQL, the end of standard support for version 12 is set for February 28, 2025. After this date, Aurora PostgreSQL will continue to release patches for extended supported versions, while RDS will provide new minor versions with bug fixes and CVE patches for extended supported versions.

Key points to remember:

  •  After February 28, 2025, you can still create Aurora PostgreSQL LTS 12.9 and 12.20, and RDS PostgreSQL 12.22 databases, which will be automatically enrolled in Extended Support.
  •  When restoring PostgreSQL 12 database snapshots, you'll have the option to disable RDS extended support.
  • If RDS extended support is disabled, the database will be forced to upgrade. If the upgrade fails, the database will remain in extended support and continue to incur charges.

Amazon RDS Extended Support

Amazon RDS Extended Support is a valuable service for users who need additional time to plan and execute their database upgrades. This service provides continued security and critical bug fix patches for a limited period beyond the end of the standard support date.

Benefits of RDS Extended Support

  • Continued security patches and critical bug fixes
  • Additional time to plan and execute upgrades
  • Flexibility in managing database versions

It's important to note that while Extended Support provides a safety net, it should not be considered a long-term solution. Users should actively plan for upgrading to a newer, fully supported version of PostgreSQL.

Upgrade Options for Aurora or RDS PostgreSQL

When it comes to upgrading Aurora or RDS PostgreSQL databases, users have three main options:

1. In-Place Upgrade

  • Managed by RDS
  • Can be performed using Amazon RDS console or AWS CLI
  • Requires downtime

2. Amazon RDS Blue or Green Deployments

  • Can be performed using Amazon RDS console
  • Minimizes risks and downtime
  • Restricts some operations until the upgrade is completed

3. Out-of-Place Upgrade

  • Reduces downtime by upgrading a copy of the database
  • Involves continuous replication with the new version until the final cutover
  • Requires more manual steps and planning

The below image shows the pros and cons of the above upgrade options:

Pros and cons of the upgrade options

Each upgrade option has its advantages and considerations. The choice depends on factors such as downtime tolerance, database size, and operational requirements.

Benefits of Upgrading to PostgreSQL 16

PostgreSQL 16, released in September 2023, brings significant improvements and new features that make it an attractive upgrade target. Here are some key benefits:

1. Performance Improvements

  • Enhanced query planner with parallelization of FULL and RIGHT joins
  • Optimized execution of window functions
  • Improved bulk loading performance for COPY commands
  • Vacuum strategy enhancements reducing the need for full-table freezes
  • CPU acceleration through SIMD technology for x86 and ARM architectures

2. Logical Replication Enhancements

  • Bidirectional replication
  • Replication from standby (RDS PostgreSQL only)
  • Performance improvements for logical replication

3. Monitoring and Diagnostics

  • Introduction of pg_stat_io view for detailed I/O metrics
  • New columns in pg_stat_all_tables and pg_stat_all_indexes views
  • Improved auto_explain readability and query tracking accuracy

4. Security Enhancements

  • Security-focused client connection parameters
  • Support for Kerberos credential delegation
  • Introduction of the require_auth function for specifying acceptable authentication parameters

It's important to note that as managed database services, some features may not apply to Aurora or RDS PostgreSQL databases.

Planning Your Upgrade

As the end of life for PostgreSQL 12 approaches, it's crucial to start planning your upgrade strategy. Here are some steps to consider: 

  • Assess your current PostgreSQL 12 deployment and identify any dependencies or custom configurations.
  • Review the features and improvements in PostgreSQL 16 to understand the potential benefits for your specific use case.
  • Choose the most appropriate upgrade method based on your downtime tolerance and operational requirements.
  • Create a test environment to validate the upgrade process and identify any potential issues.
  • Develop a rollback plan in case of unexpected problems during the upgrade.
  • Schedule the upgrade during a low-traffic period to minimize disruption.
  • After the upgrade, monitor the database closely for any performance changes or issues.

The below image depicts a typical flowchart for a PostgreSQL database upgrade:

Flowchart for a PostgreSQL database upgrade

Conclusion

The end of life for PostgreSQL 12 presents both challenges and opportunities for database administrators and developers. While it necessitates careful planning and execution of upgrades, it also provides a chance to leverage the latest features and improvements in PostgreSQL 16. By understanding the implications of end of life, exploring upgrade options, and preparing thoroughly, organizations can ensure a smooth transition to a newer, more robust version of PostgreSQL.

Remember, staying current with supported database versions is not just about accessing new features — it's a critical aspect of maintaining the security, performance, and reliability of your database infrastructure. Start planning your PostgreSQL upgrade today to ensure your databases remain supported and optimized for the future.

Amazon Aurora Database security PostgreSQL

Opinions expressed by DZone contributors are their own.

Related

  • Database Query Service With OpenAI and PostgreSQL in .NET
  • Formulating a Robust Strategy for Storage in Amazon Relational Database Service PostgreSQL Deployments
  • Point-In-Time Recovery (PITR) in PostgreSQL
  • Data Privacy and Security: A Developer's Guide to Handling Sensitive Data With DuckDB

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!