Schedule - PGDay Chicago 2024

Performing minimal downtime major version upgrades with logical replication

Date: 2024-04-26
Time: 13:30–14:15
Room: Hub2
Level: Beginner

In this talk, we explore logical replication in PostgreSQL, a useful technique for achieving minimal downtime during database upgrades. Attendees will learn the basics of logical replication, its applications, and how it can be effectively used in upgrading postgres major version. We'll also talk about pg_easy_replicate, a tool inspired by the minimal downtime upgrade processes performed at Tines. This tool is quite handy at facilitating major PostgreSQL database upgrades through a blue/green setup and DNS-based switchover. The session is designed to equip participants with practical knowledge on leveraging logical replication and pg_easy_replicate for efficient and streamlined database upgrades, ensuring minimal operational disruption.

Following is also a rough outline for the talk.


  1. Introduction
  2. Overview of PostgreSQL and the importance of minimal downtime in database operations.

  3. Understanding Logical Replication in PostgreSQL

  4. Basic principles of logical replication.
  5. How logical replication is applied in database management.

  6. The Inspiration Behind pg_easy_replicate

  7. The genesis of pg_easy_replicate, inspired by Tines' approach to database upgrades.
  8. Overview of the tool's capabilities and features.

  9. Applying pg_easy_replicate in PostgreSQL Upgrades

  10. Step-by-step explanation of using pg_easy_replicate for major version upgrades.
  11. Setting up a blue/green database configuration and executing DNS-based switchover.
  12. Caveats of logical replication for larger databases

  13. Broader Applications of Logical Replication

  14. Exploring different scenarios and uses of logical replication beyond upgrades.

  15. Real-World Examples and Insights

  16. Discussing other use cases of logical replication.

  17. Conclusion & Q&A

  18. Summarizing key takeaways and practical applications.
  19. Encouraging further exploration and engagement with logical replication and pg_easy_replicate.
  20. Providing resources for continued learning and development.


Shayon Mukherjee