Обновление PostgreSQL 9.2 - 9.6 с нулевым временем простоя


9

Я должен обновить с PostgreSQL 9.2 до 9.6. Ниже приведены проблемы, с которыми я сталкиваюсь:

  1. Поскольку у нас есть настройка потоковой репликации, а PostgreSQL не поддерживает обновление до более низкой версии в режиме потоковой репликации, когда я обновляю master, мне приходится перестраивать ведомые устройства, и это занимает 3 часа. У меня нет этого свободного времени. В любой момент времени нам нужен один раб и один мастер. Есть ли другой способ выполнить обновление без необходимости перестраивать ведомые устройства, используя потоковую репликацию?

  2. Для построения логической репликации мы думали об использовании slony, но у slony есть некоторые ограничения в том, что он не реплицируется автоматически:

    • Изменения в больших объектах (BLOBS)
    • Изменения, сделанные командами DDL
    • Изменения в пользователях и ролях
      ... и наше приложение имеет непрерывные команды создания. Поэтому мы не можем использовать слони.

Пожалуйста, предложите что-нибудь, чтобы избежать перестройки подчиненного устройства и выполнить обновление с минимальным временем простоя и одним ведущим и одним подчиненным.


3
Те же проблемы, которые мешают вам использовать Slony, не позволят вам использовать другие инструменты, такие как Bucardo, Londiste, pglogical и т. Д. Вам нужно будет адаптировать приложение, чтобы оно не выполняло непрерывное создание. И да, LOBs будет проблемой.
Крейг Рингер

Ответы:


1

Обновление базы данных потребует простоя на ваших серверах. Чтобы свести к минимуму время простоя, я бы посоветовал вам установить более новую версию на новом сервере, создать для нее настройку репликации и сбросить здесь все данные из старого экземпляра, а также изменить указание сервера, чтобы приложение указывало на новый сервер для подключения к базе данных.


2
Ну, мы недавно обновили базу данных на 9 ТБ с 9,3 до 9,6, используя pg_upgrade. Это заняло несколько минут (на главном и подчиненном вместе взятых), а на самосвал требуется более 3 часов.
Дезсо

Но взятие дампа не требует простоев.
Лохит Гупта

Абсолютно то, что я имел в виду (и забыл добавить), было то, что восстановление резервной копии занимает примерно то же самое время, что и ее получение, что означает несколько наших простоев в нашем случае.
Дезсо

Спасибо за предложение, так что я занимался модернизацией мастера и восстановлением раба, это правильная процедура
Прабхат

1
Шаг 2 не сработает. Формат WAL не совместим между основными версиями, поэтому необходимо pg_upgrade.
Дезсо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.