Pg_probackup — управление резервным копированием и восстановлением кластеров БД Postgres Pro

Сегодня посмотрим на инструмент pg_probackup - это инструмент резервного копирования который входит в корпоративный дистрибутив СУБД Postgres Pro Пошаговая инструкция: 1. Заходим в psql. 2. Создаем базу данных backupdb и заходим в нее. CREATE DATABASE backupdb; \c backupdb 3. Создаем пользователя backup и даем ему необходимые права. BEGIN; CREATE ROLE backup WITH LOGIN; GRANT USAGE ON SCHEMA pg_catalog TO backup; GRANT EXECUTE ON FUNCTION (text) TO backup; GRANT EXECUTE ON FUNCTION (text, text, boolean) TO backup; GRANT EXECUTE ON FUNCTION () TO backup; GRANT EXECUTE ON FUNCTION (text, boolean) TO backup; GRANT EXECUTE ON FUNCTION (boolean) TO backup; GRANT EXECUTE ON FUNCTION (text) TO backup; GRANT EXECUTE ON FUNCTION () TO backup; GRANT EXECUTE ON FUNCTION () TO backup; GRANT EXECUTE ON FUNCTION () TO backup; GRANT EXECUTE ON FUNCTION () TO backup; GRANT EXECUTE ON FUNCTION (txid_snapshot) TO backup; GRANT EXECUTE ON FUNCTION () TO backup; COMMIT; 4. Создаем пароль пользователю backup. alter user backup with password ’123’; 5. Добавляем право Replication пользователю backup. alter role backup with replication; 6. Проверяем значения настроек wal_level и max_wal_senders. Значение параметра «wal_level» должно быть выше «minimal», например «replica». Значение параметра «max_wal_senders» должно быть достаточно большое, предусматривающее минимум одно подключение для процесса резервного копирования (помимо прочих планируемых репликаций). show wal_level; show max_wal_senders; 7. В файле разрешим подключение к кластеру баз данных пользователю backup, и разрешаем выполнение репликации для пользователя backup. host backupdb backup md5 host replication all md5 8. Перезапустим сервера PostgreSQL, чтобы применились настройки. Работа с pg_probackup из командной строки. 1. Создаем каталог для резервных копий (в перспективе монтируем отдельный диск в этот каталог). mkdir /mnt/backup 2. Инициализируем каталог резервных копий. И посмотрим его содержимое. pg_probackup init -B /mnt/backup pg_probackup add-instance -B /mnt/backup -p 5432 -U postgres -d postgres -D /data_5432 --instance=ltd-ls-sql1 3. Создаем файл .pgpass в корневом каталоге пользователя для запуска резервного копирования без ввода пароля mcedit /root/.pgpass chmod 600 /root/.pgpass *:*:*:backup:123 4. Создаем полную копию кластера. pg_probackup backup -B /mnt/backup/ -p 5432 -h localhost -U backup -d backupdb -b FULL --instance=ltd-ls-sql1 --stream 5. Создаем разностную копию кластера. pg_probackup backup -B /mnt/backup -p 5432 -h localhost -U backup -d backupdb -b delta --instance=ltd-ls-sql1 --stream 6. Проверяем результат. pg_probackup show -B /mnt/backup/ 7.Восстанавливаем бекап pg_probackup restore -B /mnt/backup/ --instance=ltd-ls-sql1 -D /data_5432_2 --backup-id=T2O5NM 00:00:00 Вступление 00:02:05 Вход в psql 00:02:35 Создание БД backupdb и авторизация 00:02:58 Создание пользователя backup и выдача ему необходимых прав 00:03:28 Создание пароля пользователю backup 00:03:50 Добавление права Replication пользователю backup 00:04:00 Проверка параметров wal_level и max_wal_senders 00:04:25 В файле разрешаем подключение к кластеру БД пользователю backup, и разрешаем выполнение репликации для пользователя backup 00:05:29 Перезапуск демона PostgreSQL 00:05:40 Создание каталога для резервных копий 00:06:20 Инициализация каталога резервных копий 00:07:09 Создание файла .pgpass в корневом каталоге пользователя для запуска резервного копирования без ввода пароля 00:08:25 Создание полной копии кластера 00:09:30 Создание разностной копии кластера 00:09:55 Проверка результата 00:10:35 Восстановление бекапа Музыка: Paradise Hope by Hotham | Music promoted by Creative Commons CC BY 3.0 Coconut by Hotham | Music promoted by Creative Commons CC BY 3.0 Do It by Hotham | Music promoted by Creative Commons CC BY 3.0 Way Back Home by Hotham | Music promoted by
Back to Top