Миграция PostgreSQL 11 на PostgreSQL 15
Устанавливает PostgreSQL 15.
Переносит данные из текущего кластера.
Удаляет PostgreSQL 11 в случае успешного переноса данных.
Миграция данных производится с помощью утилиты pg_upgrade от PostgresPRO, входящей в состав скрипта.
См. также
Предупреждение
Без резервного копирования вы рискуете потерять данные.
Системные требования
Операционная система:
Ubuntu 18.04 LTS,
Ubuntu 20.04 LTS,
Ubuntu 22.04 LTS.
База данных:
Предустановленная PostgreSQL 11.
Примечание
Скрипт производит миграцию путём переназначения файлов данных, дополнительное место не требуется.
Условия миграции
Скрипт сработает при соблюдении условий:
Условие |
Описание |
Комментарий |
|---|---|---|
Расположение PostgreSQL 11 |
Данные и файлы конфигурации расположены в директории /var/lib/postgresql/11/ |
Если данные находятся в другой папке, скрипт не сможет их найти и использовать для обновления |
Название базы данных |
Базы данных имеют названия: ibatyr, postgres, template0, template1 |
Скрипт не переносит базы данных с другими названиями. Измените скрипт для переноса архивных БД. Используйте внутренние регламенты для переноса баз, не входящих в инфраструктуру iBatyr Monitor |
Пользовательский кластер |
Пользовательский кластер расположен на одном хосте с базой данных |
Скрипт не сработает, если пользовательский кластер находится на отдельном хосте. Используйте другие способы миграции |
Расположение архивных баз данных |
У всех архивных БД кластера в параметре location указан путь /var/lib/ibatyr/archives |
Скрипт остановится, если у одной или нескольких БД в параметре location указан путь к /var/lib/postgresql/11 (1) |
Локальные настройки сервера |
Локаль консоли сервера совпадает с локалью кластера PostgreSQL 11 |
При несоответствии измените локаль консоли с помощью команды: |
Примечание
Архивные БД теперь сохраняются в папке var/lib/ibatyr/archives из-за изменений в инструкции Создание архивной базы данных. Ошибка
invalid tablespace locationзначит, что вы создавали архивные базы по старой инструкции. Для решения обратитесь к статье.
Подготовка
Архивные базы данных
Для переноса архивной базы данных откройте скрипт postgresql-upgrade для редактирования:
sudo nano /usr/share/ibatyr/bin/postgresql-upgrade
Измените переменную ARCHIVED_DATABASES:
при переносе одной архивной БД:
ARCHIVED_DATABASES="archive2023"
при переносе нескольких архивных БД :
ARCHIVED_DATABASES="archive_2021 archive_2022 archive_2023"
Резервное копирование
Перед запуском скрипта выполните резервное копирование БД с помощью команды:
ibatyr backup_db
Предупреждение
Без резеврного копирования перед миграцией вы рискуете потерять данные из-за ошибок обновления.
Запуск скрипта
Запустите в терминале скрипт командой:
sudo ibatyr postgresql upgradeСкрипт автоматически проверит совместимость старого и нового кластеров PostgreSQL с помощью утилиты pg_upgrade.
После успешной проверки скрипт запросит подтверждение перед обновлением PostgreSQL:
*** WARNING! You are really want to run Postgres upgrade script (type 'yes')?Введите yes, чтобы начать миграцию кластера PostgreSQL 11 на версию 15.
Завершение миграции
Скрипт удалит PostgreSQL 11 и предложит перезапустить iBatyr Monitor командой:
ibatyr init
Время перезапуска зависит от объема базы.
Перейдите в журнал действий pg_upgrade для просмотра логов:
cd /var/lib/postgresql/15/main/pg_upgrade_output.d
При возникновении вопросов обратитесь в техподдержку.
Дата изменения: 10.07.2024