Разворачиваем PG Back Web в облаке: как автоматизировать резервное копирование PostgreSQL

f4938b04ed3f3b474574ab9b7f0fc233.png

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

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

В этой статье рассмотрим задачу управления резервным копированием для PostgeSQL с помощью популярного Open Source решения PG Back Web.

PG Back Web — это молодой инструмент для резервного копирования и восстановления данных в PostgreSQL. Он обеспечивает простой и удобный интерфейс для управления резервными копиями, а также мониторинг состояния и автоматическое выполнение заданий.

Итак, у нас есть развернутая база данных PostgreSQL 16 и для нее мы хотим настроить резервное копирование.

На текущий момент PG Back Web 0.3.0 поддерживает 13, 14, 15 и 16 версию PostgreSQL. Поддержка PostgreSQL 17 должна появится в следующей версии.

Установка и настройка 

Рассмотрим подробно как развернуть собственное приложение PG Back Web в облаке. Для этого воспользуемся функционалом «Приложения» облачной платформы Dockhost. 

Первым шагом переходим в раздел «Приложения» в панели управления Dockhost и выбираем приложение PG Back Web.

d04fd74005d7ad2ac1aa2aaedde64d5a.png

Раздел «Приложения» — это каталог популярных приложений, готовых к установке и использованию на платформе.

В открывшемся каталоге в разделе Базы данных выбираем приложение PG Back Web

41312a4f8abf13e46d9001ec7cb25a29.png

В открывшемся окне нужно выбрать необходимую вам конфигурацию приложения. К установке доступно 6 конфигураций, отличающиеся выделенными для приложения ресурсами. После выбора конфигурации указываем имя приложения в открывшемся модальном окне:

5dca22c8e797f5faf2f8fc2211e966ec.png

Нажимаем установить и дожидаемся завершения процесса установки приложения:

fd8531ffa21c63e7bc2d48967e51cc3c.png

После завершения процесса установки приложения будет установлено: PostgreSQL и диск для базы данных, PG Back Web и диск для хранения резервных копий, и для удобства создан динамический домен, по которому мы сможем подключиться к PG Back Web

Обратите внимание, что для работы PG Back Web была создана отдельная база данных. Стоит избегать подключения PG Back Web к той же базе данных, которую мы собираемся резервировать. Любой инструмент резервного копирования должен быть независимым от системы, которую он защищает.

Все созданные ресурсы вы можете увидеть, нажав кнопку «Управлять» справа от установленного приложения.

13477f67666726b6c953f511508ed731.png

При необходимости можно обновить конфигурацию, переустановить приложение целиком или восстановить его настройки в состояние после установки.

Итак, наше приложение установлено и готово к использованию. Перейдем по ссылке на созданный домен и выполним первый вход в приложение.

d1555e8ae693840726249fcd74732b6a.png

После установки приложения необходимо создать пользователя. Для этого необходимо указать имя, email и пароль и после этого можно авторизоваться в приложение под только что созданным пользователем.

184f398327a2cda322e932c83bc1ec09.png

На текущий момент PG Back Web поддерживает работу только с одним пользователем.

Настройка и создание резервных копий 

Теперь мы можем добавить базу данных в PG Back Web для создания резервной копии, для это перейдем в раздел «Databases», и создадим новое подключение.

18f5369e4f7c8e80ff1fb2e4cc07b4bc.png

Для создания нового подключения необходимо указать имя, версию PostgreSQL и строку подключения. В нашем примере мы будем подключаться к базе данных расположенной в том же проекте что и PG Back Web, но это может быть и внешняя база данных. Стоит отметить, что одно подключение равно одной базе данных в рамках одного сервера, и если нужно резервировать несколько баз данных, то придется создавать несколько подключений.

После того как мы создали одно или несколько подключений к базе данных необходимо настроить расписание резервного копирования. Для этого перейдем в раздел «Backups», создадим расписание резервного копирования.

fc7a738c2cc76f38109ac3b93bfa019d.png

Так как при установке приложения был подключен сетевой диск, то наши резервные копии мы будем хранить в директории /backups. PG Back Web так же поддерживает хранение резервных копий на S3. 

После создания расписания резервного копирования, можно запустить первое резервное копирование. Результаты запуска задач по созданию резервных копий будут находиться в разделе «Executions».

На текущий момент при настройке расписания резервного копирования можно настроить следующие параметры для pg_restore: --data-only, --schema-only, --clean, --if-exists, --create и --no-comments

45b5adc87625f5a1df29d814cb532e6b.png

Резервные копии хранятся в архивах и при необходимости можно скачать данный архив и восстановить в ручном режиме или накатить на другую базу данных при помощи pqsql.

Восстановление резервных копий

Для восстановления данных из резервной копии необходимо перейти в раздел «Executions» и выбрать необходимую копию для восстановления.

528a141b06b26f942066a5b990b6f945.png

После выбора резервной копии для восстановления необходимо указать базу данных, в которую данная резервная копия будет восстановлена. Выбрать можно как уже подключенные к PG Back Web, так и указать свою строку подключения к базе.

Для восстановления базы данных используется временная директория /tmp, в которой распаковывается архив резервной копии.

Заключение

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

Если вы еще не делаете бэкапы или уже задумались о них, то PG Back Web может стать хорошим выбором для быстрого и легкого запуска резервного копирования вашей базы данных или даже нескольких.

Dockhost дарит 100 руб на счет для всех новых пользователей, чтобы вы могли протестировать все функции платформы. Все новости платформы Dockhost в нашем Telegram-канале

f01fb5a552d49c8b56b4ba8d1d293ae8.png

© Habrahabr.ru