Skip to content

dopos/dcape-pg-upgrade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Работа СУБД в составе dcape и использование ее для разворачиваемых приложений

СУБД запускается в контейнере с именем $PROJECT_NAME_db_1.

Резервирование и восстановление баз данных

Проектом dcape-app-pg-backup для БД реализованы автоматические механизмы резервирования баз данных путем создания дампов в каталоге ./var/data/db-backup, где ./ - это каталог установки dcape. Каталог для хранения дампов указывается при старте контейнера Postgres в переменной DCAPE_DB_DUMP_DEST.

Обновление версии Postgres

Обновление Postgres выполняется двумя способами:

  • облегченный, без применения специальных инструментов - остановка контейнера, переключение в конфиге .env настройки на новый образ и запуск контейнера - выполняется при обновлении корректирующих (minor) версий Postgres;
  • основной, с применением специальных сценария pg_upgrade из Makefile - при обновлении основных (major) версий Postgres.

Обновление основной версии при помощи pg_upgrade.

Для обновления основной ветки Postgres используется следующий алгоритм:

  1. установка значения с новой версией для PG_IMAGE
  2. подготовка и запуск контейнера с новой версией Postgres
  3. настройка паролей в контейнере с новой версией
  4. выполнение миграции кластера со старого контейнера на новый исполнением команды 'pg_dump_all -h db -p 5432 | psql'
  5. остановка обоих контейнеров Postgres, подготовка каталога data
  6. запуск контейнера Postgres

Этот алгоритм выполняется сценарием pg-upgrade в Makefile проекта dcape. После выполнения сценария, данные из каталога data предыдущей версии кластера Postgres будут сохранены в каталоге {DCAPE_DIR}/var/data/db_previous_version. В случае необходимости отменить обновление, можно запустить предыдущую версию кластера БД с этим каталогом.

Со стороны пользователя, для обновления Postgres по этому алгоритму необходимо выполненить:

  • установить значение с новой версией для PG_IMAGE в .env
  • выполнить команду make pg-upgrade

Работа с резервными копиями кластера Postgres.

В случае необходимости создания полного дампа кластера Postgres (резервирование, перенос на другой сервер), дамп можно создать командой:

 make pg_dumpall

Сценарий создает файл дампа с именем: pg_dumpall_$${PROJECT_NAME}_date +"%d.%m.%Y".sql.gz" (по умолчанию PROJECT_NAME=dcape)

Для загрузки дампа кластера Postgres использовать:

 make pg_load_dumpall

Сценарий загружает файл дампа кластера с именем, созданным make pg_dumpall.

About

Makefile & docs for dcape postgresql version upgrade

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors