Для чего необходимо настраивать непрерывное архивирование базы данных?

Для того, чтобы:

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

1. Знакомимся с каталогами хранения данных и бэкапов.
2. Настраиваем очистку устаревших файлов бэкапов.
3. Устанавливаем параметры непрерывного архивирования PostgresPro 11.
4. Включаем непрерывное архивирование.

Описание дается для ОС CentOS 7.8.Описание дается для ОС CentOS 7.8.

Знакомимся с каталогами хранения данных и бэкапов.

Каталоги кластера СУБД PostgresPro:

/pgpro/db/ — каталог кластера;

/pgpro/db/pg_wal/ — каталог wal-логов кластера;

Каталоги бэкапов кластера СУБД PostgresPro:

/pgpro/backup/day/ — каталог полного бэкапа кластера;

/pg_log_arch/day/ — каталог дневного бэкапа wal-логов;

/pg_log_arch/archive/ — каталог архивов бэкапов wal-логов.

Данные каталоги предварительно создаем и монтируем.

Настраиваем очистку устаревших файлов бэкапов PostgresPro 11.

Для настройки понадобится два скрипта:

  • backup_prod.sh
  • backup_wal_archive.sh.

Скрипт удаления старого и формирования нового полного бэкапа кластера backup_prod.sh следующего содержания:

Удаляет предыдущий полный бэкап.

Создает новый полный бэкап.

Скрипт архивирования удаления старых логов backup_wal_archive.sh следующего содержания:

Удаляет самый крайний по времени архив wal-логов.

Перемещает предыдущий архив wal-логов на место удаленного самого крайнего по времени архива wal-логов.

Архивирует актуальный wal-логи.

где

last_file=”/pg_log_arch/archive/archive-2.tar.gz” – архив крайнего по времени файла wal-логов.

current_file=”/pg_log_arch/archive/archive-1.tar.gz” – архив актуальных wal-логов.

log_file=”/var/log/wal_archive/pg_log_archive.log” – путь к логам данного скрипта.

Итак,

1. Разместим скрипты backup_prod.sh и backup_wal_archive.sh в каталоге.

2. Авторизуемся под суперпользователем.

3. Добавим права на исполнение скриптов.

4. Настроим выполнение скриптов в cron.

Следующим образом:

5. Проверим настройку в cron.

Устанавливаем параметры непрерывного архивирования PostgresPro 11.

1. Авторизуемся под postgres

2. Подключимся к psql

3. Выполним установку параметров.

Включает архивирование.

Устанавливает команду архивирования:

Проверяет, если нет файла в каталоге wal-логов, тогда копирует в этот каталог wal-логи.

4. Выходим из psql

Включаем непрерывное архивирование PostgresPro 11.

1. Авторизуемся под postgres

2. Остановим кластер СУБД

3. Проверим

4. Запускаем кластер СУБД