Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for PostgreSQL
  • Начало работы
    • Все инструкции
      • Получение информации об имеющихся кластерах
      • Создание кластера
      • Изменение настроек кластера
      • Остановка и запуск кластера
      • Управление хостами PostgreSQL
      • Миграция хостов в другую зону доступности
      • Управление слотами репликации
      • Управление резервными копиями
      • Управление политиками резервного копирования
      • Управление дисковым пространством
      • Техническое обслуживание
      • Обновление версии PostgreSQL
      • Удаление кластера
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

В этой статье:

  • Создать политику резервного копирования
  • Получить список политик резервного копирования
  • Удалить политику резервного копирования
  1. Пошаговые инструкции
  2. Кластеры
  3. Управление политиками резервного копирования

Управление политиками резервного копирования в Managed Service for PostgreSQL

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 27 мая 2025 г.
  • Создать политику резервного копирования
  • Получить список политик резервного копирования
  • Удалить политику резервного копирования

Политики резервного копирования позволяют гибко управлять созданием и хранением резервных копий кластера. Вы можете настроить расписание, по которому будут создаваться полные резервные копии, и задать срок их хранения.

Создать политику резервного копированияСоздать политику резервного копирования

CLI
REST API
gRPC API

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для создания политики:

    yc managed-postgresql backup-retention-policy create --help
    
  2. Создайте политику:

    yc managed-postgresql backup-retention-policy create \
       --cluster-id <идентификатор_кластера> \
       --policy-name <название_политики> \
       --day-of-month <день_месяца> \
       --month <месяц> \
       --day-of-week <день_недели> \
       --retain-for-days <срок_хранения_копии_в_днях> \
       --description <описание_политики>
    

    Где:

    • day-of-month — день месяца. Возможные значения: 1–31.

    • month — месяц. Возможные значения: 1–12 или JAN–DEC.

    • day-of-week — день недели. Возможные значения: 0–6 или SUN–SAT.

    • retain-for-days — срок хранения копии в днях. Минимальное значение — 7.

      Параметры day-of-month, month и day-of-week составляют расписание, по которому создаются резервные копии. Расписание задается в виде cron-выражения, но часы и минуты не указываются.

      Сron-выражение также поддерживает специальные символы:

      • * — выбор всех возможных значений. Копия будет создаваться каждый раз (день или месяц), когда это возможно и не противоречит остальным параметрам. Используется по умолчанию, если значение параметра не указано.
      • , — перечисление нескольких значений.
      • – — указание диапазона значений.
      • / — указание шага диапазона. Например, */3 для параметра day-of-month означает, что копия будет создаваться раз в три дня.

      Если ни один параметр расписания не задан, резервные копии создаются по cron-выражению * * *, то есть каждый день.

      Примеры cron-выражений:

      • 1 */6 * — копия создается в первый день месяца раз в полгода.
      • 31 jan SUN — копия создается в январе по воскресеньям и тридцать первого января.
      • * * WED — копия создается каждую среду.

      Вы можете протестировать cron-выражение в редакторе.

    Идентификатор кластера можно получить со списком кластеров.

    Результат выполнения команды:

    policy_id: mdbt553glp51********
    cluster_id: c9q5le6h1a4k********
    policy_name: test-policy
    created_at: "2025-03-25T15:55:50.393000450Z"
    cron:
      day_of_month: "25"
      month: mar
      day_of_week: TUE
    retain_for_days: "300"
    
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом BackupRetentionPolicy.Create и выполните запрос, например с помощью cURL:

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.yandexcloud.kz/managed-postgresql/v1/clusters/<идентификатор_кластера>/retention_policies' \
      --data '{
                 "cron": {
                   "dayOfMonth": "<день_месяца>",
                   "month": "<месяц>",
                   "dayOfWeek": "<день_недели>"
                 },
                 "retainForDays": "<срок_хранения_в_днях>",
                 "description": "<описание_политики>",
                 "policyName": "<название_политики>"
             }'
    

    Где:

    • dayOfMonth — день месяца. Возможные значения: 1-31.

    • month — месяц. Возможные значения: 1-12 или JAN-DEC.

    • dayOfWeek — день недели. Возможные значения: 0-6 или SUN-SAT.

    • retainForDays — срок хранения копии в днях. Минимальное значение — 7.

      Параметры dayOfMonth, month и dayOfWeek составляют расписание, по которому создаются резервные копии. Расписание задается в виде cron-выражения, но часы и минуты не указываются.

      Сron-выражение также поддерживает специальные символы:

      • * — выбор всех возможных значений. Копия будет создаваться каждый раз (день или месяц), когда это возможно и не противоречит остальным параметрам. Используется по умолчанию, если значение параметра не указано.
      • , — перечисление нескольких значений.
      • – — указание диапазона значений.
      • / — указание шага диапазона. Например, */3 для параметра dayOfMonth означает, что копия будет создаваться раз в три дня.

      Если ни один параметр расписания не задан, резервные копии создаются по cron-выражению * * *, то есть каждый день.

      Примеры cron-выражений:

      • 1 */6 * — копия создается в первый день месяца раз в полгода.
      • 31 jan SUN — копия создается в январе по воскресеньям и тридцать первого января.
      • * * WED — копия создается каждую среду.

      Вы можете протестировать cron-выражение в редакторе.

    Идентификатор кластера можно запросить со списком кластеров.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Чтобы создать политику:

    1. Воспользуйтесь вызовом BackupRetentionPolicyService.Create и выполните запрос, например с помощью gRPCurl:

      grpcurl \
          -format json \
          -import-path ~/cloudapi/ \
          -import-path ~/cloudapi/third_party/googleapis/ \
          -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/backup_retention_policy_service.proto \
          -rpc-header "Authorization: Bearer $IAM_TOKEN" \
          -d '{
                "cluster_id": "<идентификатор_кластера>",
                "cron": {
                   "day_of_month": "<день_месяца>",
                   "month": "<месяц>",
                   "day_of_week": "<день_недели>"
                },
                "retain_for_days": "<срок_хранения_копии_в_днях>",
                "description": "<описание_политики>",
                "policy_name": "<название_политики>"
              }' \
          mdb.api.yandexcloud.kz:443 \
          yandex.cloud.mdb.postgresql.v1.BackupRetentionPolicyService.Create
      

      Где:

      • day_of_month — день месяца. Возможные значения: 1–31.

      • month — месяц. Возможные значения: 1–12 или JAN–DEC.

      • day_of_week — день недели. Возможные значения: 0–6 или SUN–SAT.

      • retain_for_days — срок хранения копии в днях. Минимальное значение — 7.

        Параметры day_of_month, month и day_of_week составляют расписание, по которому создаются резервные копии. Расписание задается в виде cron-выражения, но часы и минуты не указываются.

        Сron-выражение также поддерживает специальные символы:

        • * — выбор всех возможных значений. Копия будет создаваться каждый раз (день или месяц), когда это возможно и не противоречит остальным параметрам. Используется по умолчанию, если значение параметра не указано.
        • , — перечисление нескольких значений.
        • – — указание диапазона значений.
        • / — указание шага диапазона. Например, */3 для параметра day_of_month означает, что копия будет создаваться раз в три дня.

        Если ни один параметр расписания не задан, резервные копии создаются по cron-выражению * * *, то есть каждый день.

        Примеры cron-выражений:

        • 1 */6 * — копия создается в первый день месяца раз в полгода.
        • 31 jan SUN — копия создается в январе по воскресеньям и тридцать первого января.
        • * * WED — копия создается каждую среду.

        Вы можете протестировать cron-выражение в редакторе.

      Идентификатор кластера можно получить со списком кластеров.

    2. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Получить список политик резервного копированияПолучить список политик резервного копирования

CLI
REST API
gRPC API

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для получения списка политик:

    yc managed-postgresql backup-retention-policy list --help
    
  2. Получите список политик для кластера Managed Service for PostgreSQL:

    yc managed-postgresql backup-retention-policy list \
       --cluster-id <идентификатор_кластера>
    

    Идентификатор кластера можно получить со списком кластеров.

    Результат выполнения команды:

    +----------------------+-------------+--------------------+------------+-------------------+
    |          ID          |     NAME    |     CLUSTER ID     |  CRONTAB   |  RETENTION PERIOD |
    +----------------------+-------------+--------------------+------------+-------------------+
    | mdbt553glp51******** | test-policy | c9q5le6h1a4******* | 31 JAN SUN |                50 |
    +----------------------+-------------+--------------------+------------+-------------------+
    

    Порядок параметров в столбце CRONTAB: day_of_month (день месяца), month (месяц), day_of_week (день недели).

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом BackupRetentionPolicy.List и выполните запрос, например с помощью cURL:

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.yandexcloud.kz/managed-postgresql/v1/clusters/<идентификатор_кластера>/retention_policies?pageSize=<количество_результатов>'
    

    Где pageSize — количество результатов запроса, которые возвращаются на одной странице. Укажите число больше нуля.

    Идентификатор кластера можно запросить со списком кластеров.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Чтобы получить список политик для кластера:

    1. Воспользуйтесь вызовом BackupRetentionPolicyService.List и выполните запрос, например с помощью gRPCurl:

      grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/backup_retention_policy_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "page_size": "<количество_результатов>"
            }' \
        mdb.api.yandexcloud.kz:443 \
        yandex.cloud.mdb.postgresql.v1.BackupRetentionPolicyService.List
      

      Где page_size — количество результатов запроса, которые возвращаются на одной странице. Укажите число больше нуля.

      Идентификатор кластера можно запросить со списком кластеров.

    2. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Удалить политику резервного копированияУдалить политику резервного копирования

CLI
REST API
gRPC API

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для удаления политики:

    yc managed-postgresql backup-retention-policy delete --help
    
  2. Удалите политику:

    yc managed-postgresql backup-retention-policy delete <идентификатор_политики> \
       --cluster-id <идентификатор_кластера>
    

    Идентификатор кластера можно получить со списком кластеров, а идентификатор политики — со списком политик.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом BackupRetentionPolicy.Delete и выполните запрос, например с помощью cURL:

    curl \
      --request DELETE \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.yandexcloud.kz/managed-postgresql/v1/clusters/<идентификатор_кластера>/retention_policies/<идентификатор_политики>'
    

    Идентификатор кластера можно запросить со списком кластеров, а идентификатор политики — со списком политик.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Чтобы удалить политику:

    1. Воспользуйтесь вызовом BackupRetentionPolicyService.Delete и выполните запрос, например с помощью gRPCurl:

      grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/backup_retention_policy_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "policy_id": "<идентификатор_политики>",
              "cluster_id": "<идентификатор_кластера>"
            }' \
        mdb.api.yandexcloud.kz:443 \
        yandex.cloud.mdb.postgresql.v1.BackupRetentionPolicyService.Delete
      

      Идентификатор кластера можно запросить со списком кластеров, а идентификатор политики — со списком политик.

    2. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Была ли статья полезна?

Предыдущая
Управление резервными копиями
Следующая
Управление дисковым пространством
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»