Как быстро обновить кластер PostrgeSQL содержащий сотни тысяч таблиц
Всем известно, что самый быстрый способ сделать обновление кластера PostrgeSQL на новую версию - это воспользоваться либо логической репликацией, если база данных у вас не большая, либо использовать утилиту pg_upgrade. Однако у обоих есть недостатки: первый способ требует первоначальную переливку данных, что сильно влияет на работающий публикатор, второй способ почти никак не подходит, если у вас база данных содержит больше десяти тысяч таблиц. Нужен какой-то комбинированный способ. С 17 версии PostrgeSQL появился такой способ - это использовать pg_createsubscriber. Но как быть если у вас версия PostrgeSQL младше 17 версии. О таком подходе я и расскажу в докладе, также покажу как мы сделали большое обновление с десяток серверов с суммарным количеством таблиц больше 10 миллионов.