Использование pg_probackup для резервного копирования баз данных Postgresql (локально)

Оцените статью

Инициализация базы данных с проверкой контрольных сумм

$ /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main/ --data-checksums

Установка pg_probackup в Ubuntu Linux

# apt update
# apt install gpg wget lsb-release
# wget -qO - https://repo.postgrespro.ru/pg_probackup/keys/GPG-KEY-PG-PROBACKUP | sudo tee /etc/apt/trusted.gpg.d/pg_probackup.asc
# . /etc/os-release
# Add the repository line to a new sources file
echo "deb [arch=amd64] https://repo.postgrespro.ru/pg_probackup/deb $VERSION_CODENAME main-$VERSION_CODENAME" | sudo tee /etc/apt/sources.list.d/pg_probackup.list
deb [arch=amd64] https://repo.postgrespro.ru/pg_probackup/deb questing main-questing
# apt update
# apt-get install pg-probackup-17

Подготовка окружения

Создаем каталог для хранения резервных копий и назначаем права доступа к каталогу для пользователя postgres.

# mkdir -p /data-vol/backup/postgresql
# chown -R postgres:postgres /data-vol/backup/postgresql

Настраиваем конфигурацию postgresql.conf для архивирования wal-файлов.

wal_level = replica         # или выше
archive_mode = on
archive_command = 'test ! -f /data-vol/backup/postgresql/wal/main_backup/%f && cp %p /data-vol/backup/postgresql/wal/main_backup/%f'

Перезапускаем Postgresql:

# systemctl restart postgresql

Инициализация хранилища резервных копий

Инициализируем хранилише.

$ pg_probackup-17 init -B /data-vol/backup/postgresql/
$ ls /data-vol/backup/postgresql/

Регистрация экземпляра Postgresql.

$ pg_probackup-17 add-instance -B /data-vol/backup/postgresql/ -D /var/lib/postgresql/17/main --instance=main_backup

Назначаем политику удержания резервных копий

# $ pg_probackup-17 set-config --instance main_backup -B /mnt/nfs/postgresql-db-main/ --retention-window=7 --retention-redundancy=2
  • необходимо удерживать все резервные копии младше 7 дней
  • при этом кол-во полных резервный копий должно быть не меньше двух

Создание первой резервной копии

Полный бэкап

# chown -R postgres:postgres /data-vol/backup/postgresql/
# su postgres
$ mkdir -p /data-vol/backup/postgresql/wal/main_backup/pg_wal/
$ pg_probackup-17 backup -B /data-vol/backup/postgresql --instance=main_backup -b FULL -U postgres -d postgres
# exit

Инкрементный бэкап (после полного)

# su postgres
$ pg_probackup-17 backup -B /data-vol/backup/postgresql/ --instance=main_backup -b PAGE -U postgres -d postgres
# exit

Проверка резервных копий

Список резервных копий.

$ pg_probackup-17 show -B /data-vol/backup/postgresql/

Проверка целостности.

$ pg_probackup-17 checkdb -B /data-vol/backup/postgresql/ --instance=main_backup

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

Останавливаем postgresql.

# systemctl stop postgresql

Восстановление из резервной копии производится в пустой каталог. Восстанавливаем из резервной копии.

$ pg_probackup-17 show -B /data-vol/backup/postgresql/
$ pg_probackup-17 restore -B /data-vol/backup/postgresql/ --instance=main_backup -D /var/lib/postgresql/17/main --backup-id=T6MWEX

Запускаем postgresql.
# systemctl start postgresql

Удаление резервной копии из архива

$ pg_probackup-17 show -B /mnt/nfs/postgresql-db-main/

Related Posts

Работа с файлами дисков виртуальных машин qcow2 (копирование, сжатие, конвертация и т.п.)

Так-как файлы виртуальных машин формата qcow2 это не совсем обычные файлы, а так называемые sparced-файлы (разряженные), то и подход при работе с ними несколько отличается. Если вы создали виртуальную машину…

План создания удостоверяющего центра (УЦ) PKI на базе Red OS

Так как в планах проекта числится развертывание удостоверяющего центра (УЦ) PKI на базе Red OS, то я заранее решил набросать план действий как будем это разорачивать и какие инструменты использовать.…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You Missed

Работа с файлами дисков виртуальных машин qcow2 (копирование, сжатие, конвертация и т.п.)

Работа с файлами дисков виртуальных машин qcow2 (копирование, сжатие, конвертация и т.п.)

План создания удостоверяющего центра (УЦ) PKI на базе Red OS

План создания удостоверяющего центра (УЦ) PKI на базе Red OS

Терминальный сервер в Linux на базе xrdp

Терминальный сервер в Linux на базе xrdp

Использование pg_probackup для резервного копирования баз данных Postgresql (локально)

Использование pg_probackup для резервного копирования баз данных Postgresql (локально)

Ввод рабочей станции РЕД ОС в IPA-домен

Ввод рабочей станции РЕД ОС в IPA-домен

WEB-интерфейс для удаленного администрирования Centos/РЕД ОС

WEB-интерфейс для удаленного администрирования Centos/РЕД ОС