
9/11/2020 · Jose Finotto
What this post added
This post details the process and technical considerations for upgrading GitLab.com's main PostgreSQL cluster from version 9.6 to 11. It covers the planning, automation, testing (in isolated environments and staging), and execution of the upgrade using `pg_upgrade`. Key technical aspects include the use of Patroni for High Availability, Consul for leader election, Ansible for automation, and the rollback strategy involving maintaining a 9.6 cluster sample. It also highlights the benefits of PostgreSQL 11 features such as native table partitioning and logical replication, and the challenges of performing a fleet-wide upgrade with minimal downtime.