Knock, a notification service provider, successfully upgraded their Postgres database from version 11.9 to 15.3 with zero downtime using logical replication and Elixir & Erlang’s BEAM virtual machine. They provide a detailed account of how they accomplished this upgrade and the considerations they had to take into account. Knock relies heavily on Postgres for their workflow engine and needed to upgrade due to Amazon’s retirement of Postgres 11.9. They aimed to minimize customer impact, have zero system downtime, and create a well-established process for future upgrades. They chose replication-based upgrades as their approach and provided step-by-step instructions on how to replicate different types of tables.
https://knock.app/blog/zero-downtime-postgres-upgrades