Миграция 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 |
Данные и файлы конфигурации расположены в директории |
Если данные находятся в другой папке, скрипт не сможет |
Название базы данных |
Базы данных имеют названия: |
Скрипт не переносит базы данных с другими названиями. |
Пользовательский кластер |
Пользовательский кластер расположен на одном хосте |
Скрипт не сработает, если пользовательский кластер |
Расположение архивных баз данных |
У всех архивных БД кластера в параметре location указан путь |
Скрипт остановится, если у одной или нескольких БД |
Локальные настройки сервера |
Локаль консоли сервера совпадает с локалью кластера PostgreSQL 11 |
При несоответствии измените локаль консоли с помощью команды: dpkg-reconfigure locales
|
Подготовка¶
Архивные базы данных¶
Для переноса архивной базы данных откройте скрипт postgresql-upgrade для редактирования:
sudo nano /usr/share/staffcop/bin/postgresql-upgrade
Измените переменную ARCHIVED_DATABASES
:
при переносе одной архивной БД:
ARCHIVED_DATABASES="archive2023"
при переносе нескольких архивных БД :
ARCHIVED_DATABASES="archive_2021 archive_2022 archive_2023"
Резервное копирование¶
Перед запуском скрипта выполните резервное копирование БД с помощью команды:
staffcop backup_db
Предупреждение
Без резеврного копирования перед миграцией вы рискуете потерять данные из-за ошибок обновления.
Запуск скрипта¶
Запустите в терминале скрипт командой:
sudo staffcop postgresql upgradeСкрипт автоматически проверит совместимость старого и нового кластеров PostgreSQL с помощью утилиты pg_upgrade.
После успешной проверки скрипт запросит подтверждение перед обновлением PostgreSQL:
*** WARNING! You are really want to run Postgres upgrade script (type 'yes')?Введите yes, чтобы начать миграцию кластера PostgreSQL 11 на версию 15.
Завершение миграции¶
Скрипт удалит PostgreSQL 11 и предложит перезапустить Staffcop командой:
staffcop init
Время перезапуска зависит от объема базы.
Перейдите в журнал действий pg_upgrade для просмотра логов:
cd /var/lib/postgresql/15/main/pg_upgrade_output.d
При возникновении вопросов обратитесь в техподдержку.
Дата изменения: 10.07.2024