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

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

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

Техническое обслуживание кластера PostgreSQL

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.
  • Получить список обслуживаний
  • Получить логи кластера, относящиеся к техническому обслуживанию
  • Перенести запланированное обслуживание
  • Провести запланированное обслуживание немедленно
  • Настроить окно обслуживания

Вы можете управлять техническим обслуживанием кластера Yandex Managed Service for PostgreSQL.

Получить список обслуживанийПолучить список обслуживаний

  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
  2. Нажмите на имя нужного кластера и выберите вкладку Техническое обслуживание.

Чтобы просмотреть обслуживания с определенным статусом, нажмите кнопку Статус над списком обслуживаний и в выпадающем меню выберите нужный статус. Вы также можете найти обслуживание по его идентификатору или имени задания – используйте поле над списком обслуживаний.

Получить логи кластера, относящиеся к техническому обслуживаниюПолучить логи кластера, относящиеся к техническому обслуживанию

  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
  2. Нажмите на имя нужного кластера и выберите вкладку Техническое обслуживание.
  3. Нажмите на идентификатор нужного обслуживания.
  4. Нажмите ссылку Логи задания.

Перенести запланированное обслуживаниеПеренести запланированное обслуживание

Обслуживания, имеющие статус Запланировано, назначены на определенную дату и время, которые указаны в столбце Дата начала. При необходимости их можно перенести на новую дату и время.

Консоль управления
CLI
REST API
gRPC API

Чтобы перенести обслуживание на новую дату и время:

  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
  2. Нажмите на имя нужного кластера и выберите вкладку Техническое обслуживание.
  3. Нажмите на значок справа в строке обслуживания со статусом Запланировано.
  4. В выпадающем меню выберите Перенести.
  5. В открывшемся окне:
    • Чтобы перенести обслуживание вперед на следующее окно обслуживания, нажмите На следующее окно и затем Перенести.
    • Чтобы перенести обслуживание вперед или назад на определенную дату и время по UTC, нажмите Выбрать дату (UTC), затем выберите новую дату и интервал времени и нажмите Перенести.

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

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

Чтобы перенести обслуживание на новую дату и время:

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

    yc managed-postgresql cluster reschedule-maintenance --help
    
  2. Чтобы перенести обслуживание на ближайшее окно, выполните команду, указав тип переноса next-available-window. Чтобы перенести на определенную дату и время, укажите тип переноса specific-time:

    yc managed-postgresql cluster reschedule-maintenance <имя_или_идентификатор_кластера> \
       --reschedule-type <тип_переноса> \
       --delayed-until <временная_метка>
    

    Временная метка должна иметь один из следующих форматов:

    • RFC-3339
    • ЧЧ:ММ:СС
    • количество часов и минут, на которые нужно сдвинуть обслуживание.

    Например: 2006-01-02T15:04:05Z, 15:04:05, 2h или 3h30m ago. При выборе типа переноса next-available-window параметр --delayed-until указывать не нужно.

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

Чтобы перенести обслуживание на новую дату и время:

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

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

    curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters/<идентификатор_кластера>:rescheduleMaintenance' \
    --data '{
                "rescheduleType": <тип_переноса>,
                "delayedUntil": <временная_метка>
            }'
    

    Где rescheduleType — тип переноса, принимает одно из двух значений:

    • NEXT_AVAILABLE_WINDOW — перенести обслуживание на ближайшее окно;
    • SPECIFIC_TIME — перенести обслуживание на определенную дату и время.

    Временная метка должна иметь формат RFC-3339, например: 2006-01-02T15:04:05Z. При выборе типа переноса NEXT_AVAILABLE_WINDOW параметр delayedUntil указывать не нужно.

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

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

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

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

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

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

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

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>",
            "reschedule_type": <тип_переноса>,
            "delayed_until": <временная_метка>
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.postgresql.v1.ClusterService.RescheduleMaintenance
    

    Где reschedule_type — тип переноса, принимает одно из двух значений:

    • NEXT_AVAILABLE_WINDOW — перенести обслуживание на ближайшее окно;
    • SPECIFIC_TIME — перенести обслуживание на определенную дату и время.

    Временная метка должна иметь формат RFC-3339, например: 2006-01-02T15:04:05Z. При выборе типа переноса NEXT_AVAILABLE_WINDOW параметр delayed_until указывать не нужно.

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

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

Провести запланированное обслуживание немедленноПровести запланированное обслуживание немедленно

Обслуживания со статусом Запланировано при необходимости можно провести немедленно, не дожидаясь момента, указанного в столбце Дата начала.

Консоль управления
CLI
REST API
gRPC API

Чтобы провести запланированное обслуживание кластера немедленно:

  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
  2. Нажмите на имя нужного кластера и выберите вкладку Техническое обслуживание.
  3. Нажмите на значок справа в строке обслуживания.
  4. В выпадающем меню выберите Провести сейчас.

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

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

Чтобы провести запланированное обслуживание кластера немедленно:

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

    yc managed-postgresql cluster reschedule-maintenance --help
    
  2. Выполните команду, указав тип переноса immediate:

    yc managed-postgresql cluster reschedule-maintenance <имя_или_идентификатор_кластера> \
       --reschedule-type immediate
    

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

Чтобы провести запланированное обслуживание кластера немедленно:

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

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

    curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters/<идентификатор_кластера>:rescheduleMaintenance' \
    --data '{
                "rescheduleType": "IMMEDIATE"
            }'
    

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

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

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

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

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

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

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

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>",
            "reschedule_type": "IMMEDIATE"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.postgresql.v1.ClusterService.RescheduleMaintenance
    

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

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

Настроить окно обслуживанияНастроить окно обслуживания

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

Важно

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

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
  2. Нажмите на имя нужного кластера и выберите вкладку Техническое обслуживание.
  3. Нажмите кнопку Настроить окно обслуживания.
  4. В открывшемся окне:
    • Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт произвольное (по умолчанию).
    • Чтобы разрешить проведение технического обслуживания раз в неделю в определенное время суток, выберите пункт по расписанию и укажите день недели и час по UTC.

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

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

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

    yc managed-postgresql cluster reschedule-maintenance --help
    
  2. Выполните команду:

    yc managed-postgresql cluster update <имя_или_идентификатор_кластера> \
       --maintenance-window type=<тип_технического_обслуживания>,`
                           `day=<день_недели>,`
                           `hour=<час_дня>
    

    Где type — тип технического обслуживания:

    • anytime (по умолчанию) — в любое время.
    • weekly — по расписанию. При задании этого значения укажите день недели и час дня:
      • day — день недели в формате DDD: MON, TUE, WED, THU, FRI, SAT или SUN.
      • hour — час дня по UTC в формате HH: от 1 до 24.

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

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

    Полный список доступных для изменения полей конфигурации кластера Managed Service for PostgreSQL см. в документации провайдера Terraform.

  2. Чтобы настроить время технического обслуживания (в т. ч. для выключенных кластеров), добавьте к описанию кластера блок maintenance_window:

    resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" {
      ...
      maintenance_window {
        type = <тип_технического_обслуживания>
        day  = <день_недели>
        hour = <час_дня>
      }
      ...
    }
    

    Где:

    • type — тип технического обслуживания. Принимает значения:
      • ANYTIME — в любое время.
      • WEEKLY — по расписанию.
    • day — день недели для типа WEEKLY в формате DDD. Например, MON.
    • hour — час дня по UTC для типа WEEKLY в формате HH. Например, 21.
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Ограничения по времени

    Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for PostgreSQL:

    • создание, в том числе путем восстановления из резервной копии, — 30 минут;
    • изменение — 60 минут;
    • удаление — 15 минут.

    Операции, длящиеся дольше указанного времени, прерываются.

    Как изменить эти ограничения?

    Добавьте к описанию кластера блок timeouts, например:

    resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" {
      ...
      timeouts {
        create = "1h30m" # Полтора часа
        update = "2h"    # 2 часа
        delete = "30m"   # 30 минут
      }
    }
    
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

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

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

    curl \
      --request PATCH \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters/<идентификатор_кластера>' \
      --data '{
                "updateMask": "maintenanceWindow",
                "maintenanceWindow": {
                  "weeklyMaintenanceWindow": {
                    "day": "<день_недели>",
                    "hour": "<час>"
                  }
                }
              }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

      В данном случае передается только один параметр.

    • maintenanceWindow — настройки времени технического обслуживания (в т. ч. для выключенных кластеров). В maintenanceWindow передайте один из двух параметров:

      • anytime — техническое обслуживание может быть запланировано на любое время.

      • weeklyMaintenanceWindow — техническое обслуживание может запланировано только на выбранный день недели и час:

        • day — день недели в формате DDD: MON, TUE, WED, THU, FRI, SAT или SUN;
        • hour — час дня по UTC в формате HH: от 1 до 24.

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

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

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

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

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

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

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

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>",
            "update_mask": {
              "paths": ["maintenance_window"]
            },
            "maintenance_window": {
              "weekly_maintenance_window": {
                "day": "<день_недели>",
                "hour": "<час>"
              }
            }
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.postgresql.v1.ClusterService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

      В данном случае передается только один параметр.

    • maintenance_window — настройки времени технического обслуживания (в т. ч. для выключенных кластеров). В maintenance_window передайте один из двух параметров:

      • anytime — техническое обслуживание может быть запланировано на любое время.

      • weekly_maintenance_window — техническое обслуживание может запланировано только на выбранный день недели и час:

        • day — день недели в формате DDD: MON, TUE, WED, THU, FRI, SAT или SUN;
        • hour — час дня по UTC в формате HH: от 1 до 24.

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

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

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

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