# Занятие 20: Резервное копирование / Другие возможности pg_probackup

> Исходная страница в нативном Markdown: Резервное копирование / Другие возможности pg_probackup

---

Индекс LLMS: [llms.txt](/ru/llms.txt)

---

<!-- Generated by scripts/generate_skeleton.py. -->

> [!NOTE]
> Эта страница извлечена из официального PDF в нативный Markdown. Текст слайдов, код и комментарии сохранены в порядке чтения; исходные PDF и HTML остаются эталоном макета.
> **HTML source:** [pgpro_20_probackup_3.html](https://edu.postgrespro.ru/16/pgpro-16/pgpro_20_probackup_3.html)
> **Archive:** [PGPRO-handouts-16.zip](https://edu.postgrespro.ru/16/PGPRO-handouts-16.zip)
> **Страниц PDF:** 21

## Page 1: Резервное копирование / Другие возможности pg_probackup {#source-page-001}

### Авторские права

© Postgres Professional, 2023–2026 Авторы: Алексей Береснев, Илья Баштанов, Павел Толмачев, Игорь Гнатюк Фото: Олег Бартунов (монастырь Пху и пик Бхрикути, Непал)
### Использование материалов курса

Некоммерческое использование материалов курса (презентации, демонстрации) разрешается без ограничений. Коммерческое использование возможно только с письменного разрешения компании Postgres Professional. Запрещается внесение изменений в материалы курса.
### Обратная связь

Отзывы, замечания и предложения направляйте по адресу: edu@postgrespro.ru
### Отказ от ответственности

Компания Postgres Professional не несет никакой ответственности за любые повреждения и убытки, включая потерю дохода, нанесенные прямым или непрямым, специальным или случайным использованием материалов курса. Компания Postgres Professional не предоставляет каких-либо гарантий на материалы курса. Материалы курса предоставляются на основе принципа «как есть» и компания Postgres Professional не обязана предоставлять сопровождение, поддержку, обновления, расширения и изменения.

## Page 2: Темы {#source-page-002}

- Хранилище S3
- Политики хранения
- Журнал

## Page 3: Хранилище S3 {#source-page-003}

![Source slide page 3: Хранилище S3](images/page-003.png){#source-figure-003 caption="Source slide page 3: Хранилище S3"}

**Каталог копий можно размещать в хранилище S3**
  - MinIO
  - Amazon S3
  - VK Cloud

### Комментарии преподавателя

Утилита pg\_probackup способна работать с каталогом копий, который размещен в объектном хранилище, предоставляющем интерфейс S3 (Simple Storage Service).

В настоящее время поддерживаются: MinIO, Amazon S3 и VK Cloud. MinIO — программа с открытым кодом, реализующая API, совместимый с S3, и важнейшие возможности, аналогичные Amazon Web Services. В демонстрационных материалах курса используется именно MinIO.

<https://postgrespro.ru/docs/enterprise/16/app-pgprobackup#PBK-SETUP-S3>

## Page 4: Хранилище S3 {#source-page-004}

В виртуальной машине установлено и настроено программное обеспечение MinIO, реализующее API S3. Запустим сервис MinIO.
```sh
student$ sudo systemctl enable --now --quiet minio
```
Объектное хранилище MinIO использует корзины — аналоги каталогов в обычных файловых системах.
Создадим корзину bkp:
```sh
student$ /usr/local/bin/mc --quiet mb local/bkp
```
```text
Bucket created successfully `local/bkp`.
```
С помощью текстового редактора создадим файл, описывающий подключение к хранилищу S3:
```text
/home/student/s3.config
```
```text
access-key = minioadmin
secret-key = minioadmin
s3-host = localhost
s3-port = 9000
s3-bucket = bkp
s3-secure = off
```
access\_key и secret-key задают имя учетной записи и пароль в хранилище; s3-host и s3-port — узел и порт службы S3; s3-bucket — имя корзины S3; s3-secure — использование протокола https.
Создадим базу данных, к которой будет подключаться роль backup.
```sql
=> CREATE DATABASE pgpro_probackup_3 OWNER backup TEMPLATE templateprobackup;
```
```sql
CREATE DATABASE
```
```sh
student$ psql
```
Инициализируем каталог копий в хранилище S3:
провайдер указывается в параметре --s3; расположение файла с настройками — в параметре --s3-config-file.
```sh
student$ pg_probackup init \
  -B /probackup \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
```text
INFO: Backup catalog '/probackup' successfully initialized
```
Если параметр --s3-config-file опущен, pg\_probackup ищет настройки подключения к S3 сначала в /etc/pg\_probackup/s3.config, а затем в ~postgres/.pg\_probackup/s3.config.
Также параметры подключения к S3 можно задать с помощью переменных окружения.
Добавим в локальный каталог копий экземпляр БД, работающий на удаленном сервере. Каталог копий будет создан в хранилище S3.
```sh
student$ pg_probackup add-instance \
  -B /probackup --instance ent-16 \
  -D /var/lib/pgpro/ent-16 \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
```text
INFO: Instance 'ent-16' successfully initialized
```
Чтобы сократить командную строку, сохраним параметры удаленного доступа в конфигурации.
```sh
student$ pg_probackup set-config \
  -B /probackup --instance ent-16 \
  -d pgpro_probackup_3 \
  -U backup \
  --log-level-console=ERROR \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```

## Page 5: Page 5 {#source-page-005}

Обратите внимание, что параметры --s3=minio и --s3-config-file=/home/student/s3.config задают подключение к S3, они в конфигурацию не записываются и должны задаваться в командной строке явно.
Выполним полное резервное копирование в облако.
```sh
student$ pg_probackup backup \
  -B /probackup --instance ent-16 \
  -b FULL \
  --stream \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
В каталоге теперь имеется полная потоковая копия:
```sh
student$ pg_probackup show \
  -B /probackup --instance ent-16 \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
```text
==========================================================================================
====================================================
 Instance  Version  ID      Recovery Time                  Mode  WAL Mode  TLI  Time
Data   WAL  Zalg  Zratio  Start LSN  Stop LSN   Status
==========================================================================================
====================================================
 ent-16    16       TIUQ8D  2026-07-27 23:58:05.547695+03  FULL  STREAM    1/0   17s
328MB  16MB  none    1,00  0/C000028  0/C001820  OK
```

## Page 6: Политики хранения {#source-page-006}

**Удаление лишних копий**
- Закрепление копий
- Политика хранения WAL

## Page 7: Удаление лишних копий {#source-page-007}

![Source slide page 7: Удаление лишних копий](images/page-007.png){#source-figure-007 caption="Source slide page 7: Удаление лишних копий"}

**По умолчанию в каталоге хранятся все резервные копии**
- Политика хранения определяет правила удаления копий
  - количество хранимых копий
  - окно удержания в днях

### Комментарии преподавателя

Экземпляру можно задать индивидуальную политику хранения резервных копий, определяющую, какие резервные копии следует считать устаревшими и ненужными. Политика определяется количеством полных копий, которые должны сохраняться в каталоге, а также окном удержания, которое определяет самый ранний момент времени, на который pg\_probackup должен обеспечить восстановление. Окно удержания ограничивает количество дней сохранения избыточных копий в каталоге.

Например, если окно удержания установлено в значение 7 дней, то в каталоге должна сохраняться минимум одна копия старше 7 дней с файлами WAL и цепочкой инкрементальных копий.

Политика хранения задается параметрами:

● --retention-redundancy — количество полных резервных копий, которое должно сохраняться в каталоге;

● --retention-window — количество дней от текущего момента до самого раннего момента времени в прошлом, на который может быть выполнено восстановление.

Параметры можно указать в командной строке pg\_probackup для команд backup или delete, или сохранить в конфигурации командой set-config.

<https://postgrespro.ru/docs/enterprise/16/app-pgprobackup#PBK-RETENTI> ON-POLICY

## Page 8: Закрепление копий {#source-page-008}

![Source slide page 8: Закрепление копий](images/page-008.png){#source-figure-008 caption="Source slide page 8: Закрепление копий"}

**На закрепленные копии политика хранения не действует**
- Параметры закрепления (команды backup и set-backup)
  - -ttl — время закрепления
  - -expire-time — срок хранения резервной копии

### Комментарии преподавателя

Если нужно хранить копию дольше, чем задано политикой хранения, можно закрепить ее на определенное время.

Закрепление можно задать при выполнении команды backup или сохранить в конфигурации командой set-backup.

Параметр --ttl задает требуемое время жизни копии, по умолчанию предполагаются секунды. Значение ноль отменяет закрепление.

Другой вариант — явно задать время истечения срока хранения копии, воспользовавшись параметром --expire-time.

Определить, закреплена ли копия, можно с помощью команды show утилиты pg\_probackup. Закрепленная копия имеет атрибут expire-time, содержащий время окончания срока ее хранения.

<https://postgrespro.ru/docs/enterprise/16/app-pgprobackup#PBK-BACKUP-PINNING>

## Page 9: Политика хранения WAL {#source-page-009}

![Source slide page 9: Политика хранения WAL](images/page-009.png){#source-figure-009 caption="Source slide page 9: Политика хранения WAL"}

**Политика хранения архива WAL ограничивает глубину архива для экономии места в хранилище**
- Удаление устаревших копий с --delete-wal сопровождается удалением лишних сегментов WAL

### Комментарии преподавателя

При работе в режиме непрерывного архивирования сегменты WAL накапливаются в хранилище. Но его емкость ограничена.

Можно удалять устаревшие резервные копии с параметром --delete-wal. При этом удаляются только те сегменты WAL, которые не относятся ни к одной из резервных копий в каталоге. Если возможность восстановления на момент времени нужна только для самых недавних резервных копий, можно, настроив политику хранения архива WAL, ограничить число таких копий — глубину архива — и сэкономить занимаемое место. Из копии, оставшейся без архива WAL, можно восстановиться, только если она является автономной (то есть содержит необходимые журнальные файлы).

Политику хранения архива WAL настраивают параметром --wal-depth. Установленная политика действует для всех линий времени, поэтому можно выполнять PITR для одинакового количества копий на каждой линии времени. Закрепленные копии в этом числе не учитываются.

Можно вручную удалить сегменты, не удовлетворяющие заданной политике хранения архива WAL, выполнив команду pg\_probackup delete или pg\_probackup backup --delete-wal.

<https://postgrespro.ru/docs/enterprise/16/app-pgprobackup#PBK-WAL-ARC> HIVE-RETENTION-POLICY

## Page 10: Политики хранения копий {#source-page-010}

Выполним еще одно полное резервное копирование.
```sh
student$ pg_probackup backup \
  -B /probackup --instance ent-16 \
  -b FULL \
  --stream \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
Кроме последней, актуальной копии, в каталоге есть первая, ранее созданная.
```sh
student$ pg_probackup show \
  -B /probackup \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
```text
BACKUP INSTANCE 'ent-16'
==========================================================================================
====================================================
 Instance  Version  ID      Recovery Time                  Mode  WAL Mode  TLI  Time
Data   WAL  Zalg  Zratio  Start LSN  Stop LSN   Status
==========================================================================================
====================================================
 ent-16    16       TIUQ8X  2026-07-27 23:58:21.255063+03  FULL  STREAM    1/0   13s
328MB  16MB  none    1,00  0/E000028  0/E0001A0  OK
 ent-16    16       TIUQ8D  2026-07-27 23:58:05.547695+03  FULL  STREAM    1/0   17s
328MB  16MB  none    1,00  0/C000028  0/C001820  OK
```
Если принята политика хранить единственную полную резервную копию, то первая созданная копия устарела.
Количество хранящихся избыточных копий можно задать непосредственно в командной строке. Выполним удаление, указав, что должна храниться только одна копия.
```sh
student$ pg_probackup delete \
  -B /probackup --instance=ent-16 \
  --delete-expired \
  --retention-redundancy=1 \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
Проверим состояние каталога резервных копий:
```sh
student$ pg_probackup show \
  -B /probackup \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
```text
BACKUP INSTANCE 'ent-16'
==========================================================================================
====================================================
 Instance  Version  ID      Recovery Time                  Mode  WAL Mode  TLI  Time
Data   WAL  Zalg  Zratio  Start LSN  Stop LSN   Status
==========================================================================================
====================================================
 ent-16    16       TIUQ8X  2026-07-27 23:58:21.255063+03  FULL  STREAM    1/0   13s
328MB  16MB  none    1,00  0/E000028  0/E0001A0  OK
```
Осталась единственная полная резервная копия.
Зафиксируем политику удержания единственной полной копии в конфигурации.
```sh
student$ pg_probackup set-config \
  -B /probackup --instance ent-16 \
  --retention-redundancy=1 \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
Сделаем полную копию со сжатием. Укажем, что должны быть удалены устаревшие в соответствии с политикой хранения копии и сегменты WAL.
```sh
student$ pg_probackup backup \
  -b FULL \
  -B /probackup --instance ent-16 \
```

## Page 11: Page 11 {#source-page-011}

```sql
  --stream \
  --compress \
  --delete-expired \
  --delete-wal \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
Теперь в каталоге осталась последняя полная резервная копия.
```sh
student$ pg_probackup show \
  -B /probackup \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
```text
BACKUP INSTANCE 'ent-16'
==========================================================================================
=====================================================
 Instance  Version  ID      Recovery Time                  Mode  WAL Mode  TLI  Time
Data   WAL  Zalg  Zratio  Start LSN   Stop LSN    Status
==========================================================================================
=====================================================
 ent-16    16       TIUQ9F  2026-07-27 23:58:38.548337+03  FULL  STREAM    1/0   12s
83MB  16MB  zstd    3,93  0/10000028  0/100001E8  OK
```

## Page 12: Журнал {#source-page-012}

**Журнал сообщений**
- Ротация журнала

## Page 13: Журнал сообщений {#source-page-013}

**По умолчанию pg\\\_probackup выводит сообщения в stderr**
- Можно указать файл журнала для записи сообщений
  - отдельный журнал для сообщений об ошибках
- Уровни важности сообщений настраиваются отдельно для вывода на консоль и в файл журнала
- Ротация файлов журнала
  - по достижении заданного размера файла
  - ограничением времени записи в файл

### Комментарии преподавателя

В pg\_probackup определены следующие уровни важности сообщений: verbose, log, info, warning, error и off. Каждый уровень включает все последующие, и с каждым следующим уровнем объем сообщений уменьшается. При работе pg\_probackup сообщения с уровнем важности info и выше выводятся по умолчанию на консоль в стандартный поток вывода ошибок stderr.

Уровень сообщений настраивается отдельно для консоли (--log-level-console) и для файла журнала (--log-level-file).

Для записи сообщений в журнал следует задать имя файла с помощью параметра --log-filename. По умолчанию файл располагается в подкаталоге log каталога резервных копий, параметром --log-directory расположение можно переопределить.

Сообщения как на консоль, так и в журнал, можно выводить в обычном текстовом виде или в формате JSON.

Настройкой --error-log-filename можно указать шаблон имен файлов для сообщений об ошибках.

Чтобы журналы сообщений не разрастались бесконтрольно, нужно настроить ротацию. Она может происходить по достижении указанного размера файла журнала (--log-rotation-size), либо по достижении максимального времени записи в файл (--log-rotation-age).

<https://postgrespro.ru/docs/enterprise/16/app-pgprobackup#PBK-LOGGING-OPTS>

## Page 14: Настройка журнала сообщений {#source-page-014}

Настроим параметры для журнала сообщений:
--log-level-file — уровень сообщений, которые будут выводиться в файл журнала; --log-level-console — уровень сообщений, которые будут выводиться на консоль; --log-filename — имя файла журнала (по умолчанию в подкаталоге log, расположение можно изменить с помощью -- log-directory); --log-rotation-size — размер файла, при превышении которого выполняется ротация.
Нам потребуется каталог для хранения файлов журналов:
```sh
student$ mkdir /home/student/log
```
```sh
student$ pg_probackup set-config \
  -B /probackup \
  --instance ent-16 \
  --log-directory=/home/student/log \
  --log-filename=probackup.log \
  --log-rotation-size=500kB \
  --log-level-file=info \
  --log-level-console=WARNING \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
Выполним резервное копирование с только что заданными настройками журнала сообщений.
```sh
student$ pg_probackup backup \
  -b FULL \
  -B /probackup \
  --instance ent-16 \
  --stream \
  --compress \
  --delete-expired \
  --delete-wal \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
Заглянем в каталог с журналом:
```sh
student$ ls -lh /home/student/log
```
```text
total 8,0K
-rw-rw-r-- 1 student student 2,7K июл 27 23:59 probackup.log
-rw-rw-r-- 1 student student   10 июл 27 23:58 probackup.log.rotation
```
Еще раз выполним резервное копирование, включив подробный вывод сообщений в журнал.
```sh
student$ pg_probackup backup \
  -b FULL \
  -B /probackup \
  --instance ent-16 \
  --stream \
  --compress \
  --delete-expired \
  --delete-wal \
  --log-level-file=VERBOSE \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
В журнал записалось большое количество сообщений.
```sh
student$ ls -lh /home/student/log
```
```text
total 852K
-rw-rw-r-- 1 student student 848K июл 27 23:59 probackup.log
-rw-rw-r-- 1 student student   10 июл 27 23:59 probackup.log.rotation
```
Повторим эксперимент с уровнем важности сообщений по умолчанию. Файл журнала сообщений достиг размера, при котором должна произойти ротация:
```sh
student$ pg_probackup backup \
  -b FULL \
  -B /probackup \
  --instance ent-16 \
  --stream \
  --compress \
  --delete-expired \
```

## Page 15: Page 15 {#source-page-015}

```sql
  --delete-wal \
  --s3=minio \
  --s3-config-file=/home/student/s3.config
```
В результате ротации журнала старые сообщения были стерты и размер файла уменьшился.
```sh
student$ ls -lh /home/student/log
```
```text
total 8,0K
-rw-rw-r-- 1 student student 2,4K июл 27 23:59 probackup.log
-rw-rw-r-- 1 student student   10 июл 27 23:59 probackup.log.rotation
```
Корзина bkp нам больше не понадобится, удалим ее:
```sh
student$ /usr/local/bin/mc --quiet rb --force local/bkp
```
```text
Removed `local/bkp` successfully.
```

## Page 16: Итоги {#source-page-016}

**Каталог резервных копий может размещаться в облаке S3**
- Поддерживаются политики хранения, определяющие правила удаления резервных копий и сегментов WAL
- Можно настроить журналирование сообщений и ротацию

## Page 17: Практика {#source-page-017}

1. Инициализируйте каталог резервных копий и добавьте в него экземпляр, подготовив его для локальной работы. 2. Настройте вывод сообщений в журнал и политику хранения единственной полной копии. 3. Проверьте удаление лишних копий, несколько раз выполнив полное копирование. Найдите в журнале сообщений соответствующие строки.

### Комментарии преподавателя

1. Инициализируйте каталог с помощью pg\_probackup init, а затем добавьте в него экземпляр командой pg\_probackup add-instance. Зарегистрировав роль backup, создайте базу данных для подключения из шаблона templateprobackup.

3. При выполнении полного резервного копирования используйте параметр --stream.

## Page 18: 1. Подготовка каталога резервных копий {#source-page-018}

Подготовим каталог в файловой системе.
```sh
student$ sudo mkdir /var/probackup
```
```sh
student$ sudo chown student: /var/probackup
```
Инициализируем каталог копий.
```sh
student$ pg_probackup init -B /var/probackup
```
```text
INFO: Backup catalog '/var/probackup' successfully initialized
```
Зарегистрируем экземпляр.
```sh
student$ pg_probackup add-instance \
  -B /var/probackup --instance ent-16 \
  -D /var/lib/pgpro/ent-16
```
```text
INFO: Instance 'ent-16' successfully initialized
```
Создадим базу данных для подключения.
```sh
student$ psql
```
```sql
=> CREATE DATABASE pgpro_probackup_3 OWNER backup TEMPLATE templateprobackup;
```
```sql
CREATE DATABASE
```
```sql
=> \c pgpro_probackup_3
```
```text
You are now connected to database "pgpro_probackup_3" as user "student".
```
### 2. Настройка журнала сообщений
Установим политику хранения единственной полной копии и вывод сообщений в журнал.
```sh
student$ pg_probackup set-config \
  -B /var/probackup --instance ent-16 \
  -d pgpro_probackup_3 \
  -U backup \
  --retention-redundancy=1 \
  --log-filename=probackup.log \
  --log-level-file=info \
  --log-level-console=WARNING
```
### 3. Полная копия
Сформируем полную копию:
```sh
student$ pg_probackup backup \
  -B /var/probackup --instance ent-16 \
  -b FULL \
  --stream
```
Проверим каталог копий.
```sh
student$ pg_probackup show \
  -B /var/probackup --instance ent-16
```
```text
==========================================================================================
====================================================
 Instance  Version  ID      Recovery Time                  Mode  WAL Mode  TLI  Time
Data   WAL  Zalg  Zratio  Start LSN  Stop LSN   Status
==========================================================================================
====================================================
 ent-16    16       TIURC3  2026-07-28 00:21:44.611950+03  FULL  STREAM    1/0   30s
328MB  16MB  none    1,00  0/C000028  0/C0017D8  OK
```
Еще одна полная копия.
```sh
student$ pg_probackup backup \
  -B /var/probackup --instance ent-16 \
  -b FULL \
  --stream \
```

## Page 19: Page 19 {#source-page-019}

```sql
  --delete-expired
```
Проверим каталог копий — предыдущая копия удалена:
```sh
student$ pg_probackup show \
  -B /var/probackup --instance ent-16
```
```text
==========================================================================================
====================================================
 Instance  Version  ID      Recovery Time                  Mode  WAL Mode  TLI  Time
Data   WAL  Zalg  Zratio  Start LSN  Stop LSN   Status
==========================================================================================
====================================================
 ent-16    16       TIURCX  2026-07-28 00:22:10.953566+03  FULL  STREAM    1/0   22s
328MB  16MB  none    1,00  0/E000028  0/E0001E8  OK
```
Выведем последние строки журнала сообщений:
```sh
student$ tail -n 7 /var/probackup/log/probackup.log
```
```sql
2026-07-28 00:22:31 MSK [901065]: INFO: Evaluate backups by retention
2026-07-28 00:22:31 MSK [901065]: INFO: Backup TIURCX, mode: FULL, status: OK.
Redundancy: 1/1, Time Window: 0d/0d. Active
2026-07-28 00:22:31 MSK [901065]: INFO: Backup TIURC3, mode: FULL, status: OK.
Redundancy: 2/1, Time Window: 0d/0d. Expired
2026-07-28 00:22:31 MSK [901065]: INFO: Delete: TIURC3 2026-07-28 00:21:44+03
2026-07-28 00:22:31 MSK [901065]: INFO: There are no backups to merge by retention policy
2026-07-28 00:22:31 MSK [901065]: INFO: Purging finished
2026-07-28 00:22:31 MSK [901065]: INFO: There is no WAL to purge by retention policy
```
### Уборка
Удалим созданную базу данных и каталог копий.
```sql
=> \c student
```
```text
You are now connected to database "student" as user "student".
```
```sql
=> DROP DATABASE pgpro_probackup_3 WITH (FORCE);
```
```sql
DROP DATABASE
```
```sh
student$ sudo rm -rf /var/probackup
```

## Page 20: Практика PPEM {#source-page-020}

1. Создайте S3-хранилище резервных копий для экземпляра ent-16 и назовите его ent-16\_minio, а каталог копий — /backup\_s3. Определите политику хранения только одной полной копии с удалением просроченных. 2. Сделайте автономную резервную копию основного экземпляра ent-16 в созданное хранилище. 3. В базе данных student основного экземпляра создайте новую таблицу в схеме public с одним целочисленным столбцом (первичным ключом). 4. Сделайте разностную резервную копию основного экземпляра в S3-хранилище. 5. Убедитесь, что установленная в п. 1 политика хранения действует.

### Комментарии преподавателя

1. Используйте ПО MinIO, установленное в виртуальной машине курса. Для доступа к хранилищу нужно запустить соответствующую службу: sudo systemctl start minio

Настройки доступа к хранилищу возьмите из демонстрации.

В параметрах хранения укажите число полных копий — 1, просроченные копии — удалять.

4. При отсутствии архивации WAL нужно оставить включенным параметр «создать автономную копию».

## Page 21: 1. Создание S3-хранилища копий {#source-page-021}

В навигационной панели выберите вкладку «Резервное копирование», в ней — «Хранилища РК» и нажмите «Добавить хранилище». Выберите тип «S3 хранилище», заполните поля открывшейся формы, уделив особое внимание разделу «Параметры хранения» и нажмите «Добавить».
### 2. Автономная резервная копия
Выберите вкладку «Резервные копии» и нажмите кнопку «Создать резервную копию». Далее в последовательно открывающихся формах заполните необходимые поля и нажмите «Выполнить РК».
### 3. Изменения в данных экземпляра (создание таблицы)
Во вкладке «Базы данных» выберите базу student, а в ней схему public. Нажмите «Создать таблицу», заполните поля формы и нажмите «Сохранить».
### 4. Разностная резервная копия
Из вкладки «Резервные копии» выполните создание разностной копии, выбрав режим копирования delta.
### 5. Действие политики хранения
Выполните еще одно полное резервное копирование экземпляра и проверьте список резервных копий.
