Обновление Postgres on Production до последней основной версии [закрыто]

Я планирую обновить свой Postgres с версии 10.2 до последней основной версии ( 14)

Я могу сделать это локально, сначала создав дамп из текущего запущенного Postgres:

docker exec -u postgres <pg10-containerid> pg_dumpall > dump.sql

Откройте новый контейнер Postgresql (14). А затем восстановите дамп на новый Postgres:

docker exec -i -u postgres <pg14-containerid> psql -d postgres < olddump.sql

Это работает хорошо, и мои приложения (которые подключены к новому Postgres, также работают хорошо). Но, похоже, я не могу следовать тому же подходу к производству, поскольку мне нужно было бы сделать это, все еще получая данные. У нас есть ограниченное пространство на обоих (первичном и репликационном) серверах, чтобы принять весь дамп.

Поскольку у нас есть сервер репликации, мы планируем:

  1. Поднять новый Postgres14 на сервер репликации
  2. Подождите, пока основной сервер синхронизирует все данные с сервером репликации.
  3. Переключите сервер репликации на первичный сервер
  4. Обновите теперь новый сервер репликации до Postgres14.
  5. После повторной репликации снова переключите их.

Мы считаем, что это сведет время простоя к минимуму. Видите ли вы какие-либо недостатки в подходе или можете предложить лучшие подходы?

0 ответов

Другие вопросы по тегам