Добавить
Уведомления

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 pg_catalog.current_setting(text) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.set_config(text, text, boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_is_in_recovery() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_backup_start(text, boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_backup_stop(boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_create_restore_point(text) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_wal() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_current() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_control_checkpoint() 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. В файле pg_hba.conf разрешим подключение к кластеру баз данных пользователю backup, и разрешаем выполнение репликации для пользователя backup. host backupdb backup 127.0.0.1/32 md5 host replication all 127.0.0.1/32 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 В файле pg_hba.conf разрешаем подключение к кластеру БД пользователю 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 | https://soundcloud.com/hothammusic Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0 https://creativecommons.org/licenses/by/3.0/ Coconut by Hotham | https://soundcloud.com/hothammusic Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0 https://creativecommons.org/licenses/by/3.0/ Do It by Hotham | https://soundcloud.com/hothammusic Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0 https://creativecommons.org/licenses/by/3.0/ Way Back Home by Hotham | https://soundcloud.com/hothammusic Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0 https://creativecommons.org/licenses/by/3.0/ Run Free by Hotham | https://soundcloud.com/hothammusic Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0 https://creativecommons.org/licenses/by/3.0 #Postgres #1С

Иконка канала Neosystemy Severo-Zapad LTD
268 подписчиков
12+
24 просмотра
Месяц назад
24 сентября 2025 г.
12+
24 просмотра
Месяц назад
24 сентября 2025 г.

Сегодня посмотрим на инструмент 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 pg_catalog.current_setting(text) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.set_config(text, text, boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_is_in_recovery() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_backup_start(text, boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_backup_stop(boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_create_restore_point(text) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_wal() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_current() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_control_checkpoint() 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. В файле pg_hba.conf разрешим подключение к кластеру баз данных пользователю backup, и разрешаем выполнение репликации для пользователя backup. host backupdb backup 127.0.0.1/32 md5 host replication all 127.0.0.1/32 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 В файле pg_hba.conf разрешаем подключение к кластеру БД пользователю 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 | https://soundcloud.com/hothammusic Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0 https://creativecommons.org/licenses/by/3.0/ Coconut by Hotham | https://soundcloud.com/hothammusic Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0 https://creativecommons.org/licenses/by/3.0/ Do It by Hotham | https://soundcloud.com/hothammusic Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0 https://creativecommons.org/licenses/by/3.0/ Way Back Home by Hotham | https://soundcloud.com/hothammusic Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0 https://creativecommons.org/licenses/by/3.0/ Run Free by Hotham | https://soundcloud.com/hothammusic Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0 https://creativecommons.org/licenses/by/3.0 #Postgres #1С

, чтобы оставлять комментарии