Недавно нам пришлось обновить сильно нагруженный кластер PostgreSQL с версии 13 до версии 16, при этом сократив время простоя до минимума. Кластер, состоящий из главного сервера и реплики, обрабатывал более 20 000 транзакций в секунду. Обновление PostgreSQL до более новой версии также помогло решить несколько проблем с производительностью и обслуживанием.
В частности, по мере роста нагрузки на систему существующие серверы стали узким местом. Их пришлось заменить более мощными машинами с большими объёмами памяти. Это было необходимо для обработки растущего объёма данных при сохранении высокой скорости обработки транзакций.
Кроме того, обновление до более новой версии PostgreSQL позволило получить доступ к новым функциям и улучшениям, упрощающим разработку и оптимизацию приложений. В конце этого года поддержка версии 13 будет прекращена, поэтому обновление было необходимо, чтобы обеспечить доступ к последним исправлениям и обновлениям.
В этой статье я расскажу вам о процессе обновления и о том, как преодолеть трудности, с которыми мы столкнулись. В целом процедура состояла из двух основных этапов:
▪️ Сначала мы создали новую реплику PostgreSQL с нужной версией с помощью логической репликации.
▪️ Затем мы перенесли главную роль на новую реплику.
📌 Подробнее: https://palark.com/blog/postgresql-upgrade-no-data-loss-downtime/
MemOps 🤨
