[Документация Yandex Cloud](../index.md) > [Yandex Managed Service for PostgreSQL](index.md) > Инспекции и рекомендации

# Инспекции и рекомендации в Managed Service for PostgreSQL 

На кластере управляемой базы данных регулярно проводится диагностика с целью выявления возможных проблем, повышения надежности его работы и повышения производительности. Результаты этих проверок отображаются в виде набора инспекций в разделе **Рекомендации**. Вы можете увидеть уведомления об успешно пройденных проверках и рекомендации для устранения выявленных рисков. Обязанность по устранению выявленных проблем находится в [зоне контроля пользователя](../overview/concepts/mdb-responsibilities.md) Yandex Cloud.

Все проверки имеют определенный уровень критичности:

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

Список рекомендаций регулярно обновляется. Для каждой рекомендации фиксируются временные метки: дата первого выявления риска и дата последнего обновления статуса по этой проблеме. Если рекомендация кажется избыточной или некорректной, вы можете скрыть ее, указав причину. По истечении срока скрытия рекомендация автоматически станет доступна вновь — при условии, что проблема по-прежнему актуальна.

Рекомендации доступны на уровне кластера, каталога и облака и содержат советы по всем вашим ресурсам. Однако отсутствие рекомендаций не означает, что кластер работает оптимально: перечень проверок постоянно расширяется, но остается неисчерпывающим и не заменяет мониторинг, поскольку **нацелен на выявление паттернов, а не отдельных проблем**. Вы можете дополнительно продиагностировать производительность кластера и проанализировать метрики мониторинга.

Для управления рекомендациями в Managed Service for PostgreSQL требуется роль [managed-postgresql.editor или выше](security/index.md).

## Доступные инспекции Managed Service for PostgreSQL {#mpg-recommendations}

| **Категория** | **Проверка** | **Риск** | **Критичность** |
|---------------------|-------------------------------------------------------|---------------------------------------------------------------------------------------------------------|-----------------|
| Производительность | Загрузка CPU | [Риск падения производительности](#postgresql_cpu_idle) | Высокая         |
| Высокая доступность | Наличие синхронных реплик в кластере                  | [Риск потери данных и недоступности кластера при отказе зоны (реплики)](#postgresql_ha_replics) | Высокая         |
| Высокая доступность | Выделение памяти | [Нехватка оперативной памяти](#postgresql_oom) | Высокая         |
| Высокая доступность | Выделение дискового пространства | [Риск недоступности кластера](#postgresql_disk_free_space) | Высокая         |
| Высокая доступность | Высокая доступность кластера при отказе зоны | [Риск потери данных и недоступности кластера при отказе зоны доступности](#postgresql_ha_zone) | Высокая         |
| Высокая доступность | Высокая доступность кластера при отказе зоны (кворум) | [Риск потери данных и недоступности кластера при отказе зоны (кворум)](#postgresql_ha_quorum) | Высокая         |
| Высокая доступность | Возможность автомасштабирования диска | [Ограничена возможность автомасштабирования дискового пространства](#postgresql_disk_autoscaling_limit) | Умеренная       |

### Риск падения производительности {#postgresql_cpu_idle}

**Описание**

Хост постоянно использует весь ресурс CPU, что может приводить к замедлению обработки запросов. Проверьте нагрузку и оптимизируйте запросы (в том числе с [AI-ассистентом](../websql/operations/ai-assistant.md) в WebSQL) или увеличьте вычислительные ресурсы кластера.

**Действие**

Чтобы увеличить вычислительные ресурсы кластера:

1. Перейдите в сервис **Managed Service for&nbsp;PostgreSQL**.
1. Выберите кластер и нажмите ![image](../_assets/console-icons/pencil.svg) **Редактировать**.
1. В разделе **Ресурсы** выберите класс хоста с нужным количеством vCPU.
1. Нажмите **Сохранить изменения**.

### Риск потери данных и недоступности кластера при отказе зоны из-за асинхронных реплик {#postgresql_ha_replics}

**Описание**

Кластер использует только асинхронные реплики, что не гарантирует отказоустойчивости. Добавьте хотя бы одну синхронную реплику в другую зону для обеспечения высокой доступности.

**Действие**

Чтобы перенести хост в другую зону доступности:

1. [Создайте подсеть](../vpc/operations/subnet-create.md) в зоне доступности, в которую вы переносите хост.
1. Добавьте хост в кластер: [перейдите](https://kz.console.yandex.cloud/link/managed-postgresql) в сервис **Managed Service for&nbsp;PostgreSQL**.
1. Нажмите на имя нужного кластера и перейдите на вкладку **Хосты**.
1. Нажмите кнопку ![image](../_assets/console-icons/plus.svg) **Создать хост**.
1. Укажите параметры хоста:

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

1. Нажмите **Сохранить**.

### Нехватка оперативной памяти {#postgresql_oom}

**Описание**

Кластер исчерпывает оперативную память, что приводит к замедлению работы или аварийным остановкам. Увеличьте объем оперативной памяти для кластера.

**Действие**

Чтобы увеличить объем оперативной памяти:

1. Перейдите в сервис **Managed Service for&nbsp;PostgreSQL**.
1. Выберите кластер и нажмите ![image](../_assets/console-icons/pencil.svg) **Редактировать**.
1. В разделе **Ресурсы** выберите класс хоста с нужным объемом памяти.
1. Нажмите **Сохранить изменения**.

### Риск недоступности кластера {#postgresql_disk_free_space}

**Описание**

На хосте критически мало свободного места. Это может привести к отключению некоторых операций и недоступности кластера (переходу в режим «только для чтения»). Увеличьте размер диска или очистите неиспользуемые данные.

**Действие**

Чтобы увеличить размер диска:

1. Перейдите в сервис **Managed Service for&nbsp;PostgreSQL**.
1. Выберите кластер и нажмите ![image](../_assets/console-icons/pencil.svg) **Редактировать**.
1. В разделе **Хранилище** увеличьте размер диска.
1. Нажмите **Сохранить изменения**.

### Риск потери данных и недоступности кластера при отказе зоны доступности {#postgresql_ha_zone}

**Описание**

Все хосты кластера находятся в одной зоне доступности. В случае ее сбоя кластер станет недоступен. Распределите реплики по разным зонам для обеспечения высокой доступности.

{% note info %}

Кластеры, состоящие из одного хоста, не проходят проверку на критерии высокой доступности, так как такая конфигурация находится в зоне контроля пользователей Yandex Cloud.

{% endnote %}

**Действие**

Чтобы перенести хост в другую зону доступности:

1. [Создайте подсеть](../vpc/operations/subnet-create.md) в зоне доступности, в которую вы переносите хост.
1. Добавьте хост в кластер: [перейдите](https://kz.console.yandex.cloud/link/managed-postgresql) в сервис **Managed Service for&nbsp;PostgreSQL**.
1. Нажмите на имя нужного кластера и перейдите на вкладку **Хосты**.
1. Нажмите кнопку ![image](../_assets/console-icons/plus.svg) **Создать хост**.
1. Укажите параметры хоста:

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

1. Нажмите **Сохранить**.

### Риск потери данных и недоступности кластера при отказе зоны (кворум) {#postgresql_ha_quorum}

**Описание**

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

**Действие**

Чтобы добавить хост в другую зону:

1. Перейдите в сервис **Managed Service for&nbsp;PostgreSQL**.
1. Выберите кластер и перейдите на вкладку **Хосты**.
1. Нажмите **Создать хост**.
1. В параметрах хоста укажите альтернативную зону доступности.
1. Завершите настройку хоста и нажмите **Сохранить**.

Чтобы перенести хост в другую зону доступности:

1. [Создайте подсеть](../vpc/operations/subnet-create.md) в зоне доступности, в которую вы переносите хост.
1. Добавьте хост в кластер: [перейдите](https://kz.console.yandex.cloud/link/managed-postgresql) в сервис **Managed Service for&nbsp;PostgreSQL**.
1. Нажмите на имя нужного кластера и перейдите на вкладку **Хосты**.
1. Нажмите кнопку ![image](../_assets/console-icons/plus.svg) **Создать хост**.
1. Укажите параметры хоста:

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

1. Нажмите **Сохранить**.

Подробнее про кворум репликации в разделе [Репликация в Managed Service for PostgreSQL](concepts/replication.md).

### Ограничена возможность автомасштабирования дискового пространства {#postgresql_disk_autoscaling_limit}

**Описание**

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

**Действие**

Чтобы увеличить размер диска:

1. Перейдите в сервис **Managed Service for&nbsp;PostgreSQL**.
1. Выберите кластер и нажмите ![image](../_assets/console-icons/pencil.svg) **Редактировать**.
1. В поле **Максимальный размер хранилища** укажите максимальный размер хранилища после увеличения.
1. Нажмите **Сохранить изменения**.