Использование 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 delete -B /mnt/nfs/postgresql-db-main/ --instance main_backup -i T7EEHJ

Related Posts

Работа с APT-репозитариями через HTTP/HTTPS прокси

Основные способы настройки Есть несколько вариантов задать прокси для apt — от временного (для одной команды) до постоянного (системного). Вариант 1. Временный прокси (в командной строке) Используйте параметр -o при…

Установка OlnyOffice DocSpace в Ubuntu Linux

Для нашей небольшой команды понадобилась система для совместной работы над документами. Естественно, что можно просто использовать гугл-таблицы, но хотелось бы что-то что будет у нас, а то ведь обстановка не…

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

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

You Missed

Работа с APT-репозитариями через HTTP/HTTPS прокси

Работа с APT-репозитариями через HTTP/HTTPS прокси

Установка OlnyOffice DocSpace в Ubuntu Linux

Установка OlnyOffice DocSpace в Ubuntu Linux

Диагностика работы камеры (USB или интегрированная) в Ubuntu Linux

Диагностика работы камеры (USB или интегрированная) в Ubuntu Linux

Настройка простой конфигурации OpenVPN клиент-сервер

Настройка простой конфигурации OpenVPN клиент-сервер

Установка Windows Server 2012/2012R2 в качестве гостевой виртуальной машины в Proxmox

Установка Windows Server 2012/2012R2 в качестве гостевой виртуальной машины в Proxmox

Создание бесплатной виртуальной машины в облаке Cloud.ru

Создание бесплатной виртуальной машины в облаке Cloud.ru