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

Высокая доступность и балансировка

Статья создана
Yandex Cloud
Обновлена 30 июля 2025 г.
  • Как исключить хост из выбора мастером?

  • Почему при настройке каскадной репликации возникает ошибка?

  • Как всегда подключаться к хосту-мастеру?

  • Как всегда подключаться к наименее отстающей от мастера реплике?

  • Почему мастер и реплики поменялись местами?

  • Можно ли настроить мультимастер в кластере или между двумя кластерами?

  • Как настроить балансировку, чтобы запросы на чтение уходили на реплики?

  • Почему мастер переключается на случайно выбранный хост при отключенной опции автоматического переключения мастера?

  • Почему при восстановлении работоспособности кластера происходит смена мастера, несмотря на отключенную опцию автоматического переключения мастера?

  • Почему во время операций обслуживания происходит автоматическое переключение мастера, хотя эта опция выключена?

Как исключить хост из выбора мастером?Как исключить хост из выбора мастером?

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

Важно

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

Почему при настройке каскадной репликации возникает ошибка?Почему при настройке каскадной репликации возникает ошибка?

Текст ошибки:

cluster should have at least 2 HA hosts to use cascade host

Ошибка возникает, если вы указываете источник репликации для единственной некаскадной реплики.

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

Подробнее о репликации см. в соответствующем разделе.

Как всегда подключаться к хосту-мастеру?Как всегда подключаться к хосту-мастеру?

Чтобы подключиться к текущему хосту-мастеру, используйте особый FQDN. Он имеет вид c-<идентификатор_кластера>.rw.mdb.yandexcloud.net. При подключении к этому FQDN вы сможете выполнять операции чтения и записи.

Пример команды для подключения к мастеру
psql "host=c-<идентификатор_кластера>.rw.mdb.yandexcloud.net \
      port=6432 \
      sslmode=verify-full \
      dbname=<имя_БД> \
      user=<имя_пользователя>"

Как всегда подключаться к наименее отстающей от мастера реплике?Как всегда подключаться к наименее отстающей от мастера реплике?

Чтобы подключиться к наименее отстающей от мастера реплике, используйте особый FQDN. Он имеет вид c-<идентификатор_кластера>.ro.mdb.yandexcloud.net. При подключении к этому FQDN вы сможете выполнять только операции чтения.

Пример команды для подключения к реплике
psql "host=c-<идентификатор_кластера>.ro.mdb.yandexcloud.net \
      port=6432 \
      sslmode=verify-full \
      dbname=<имя_БД> \
      user=<имя_пользователя>"

Если в кластере нет активных реплик, то этот FQDN укажет на текущий хост-мастер.

Почему мастер и реплики поменялись местами?Почему мастер и реплики поменялись местами?

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

Чтобы всегда подключаться к текущему мастеру, используйте особый FQDN.

Важно

Используйте подключение с помощью особого FQDN хоста-мастера только для процессов, которые допускают недоступность базы данных на запись продолжительностью до 10 минут.

Можно ли настроить мультимастер в кластере или между двумя кластерами?Можно ли настроить мультимастер в кластере или между двумя кластерами?

Нет, в сервисе Managed Service for PostgreSQL не поддерживается настройка мультимастера.

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

Как настроить балансировку, чтобы запросы на чтение отправлялись только на реплики?Как настроить балансировку, чтобы запросы на чтение отправлялись только на реплики?

Балансировка не осуществляется на стороне Managed Service for PostgreSQL, поэтому ее необходимо реализовать в бэкенде вашего приложения. Чтобы отправлять запросы на чтение репликам, приложение должно определить самостоятельно, какой из хостов является репликой, а какой — мастером. Например, это можно сделать с помощью библиотеки libpq. Подробнее см. в документации PostgreSQL.

Либо вы можете воспользоваться особым FQDN, который указывает на наименее отстающую реплику.

Дополнительные сведения см. в разделе Высокая доступность.

Почему мастер переключается на случайно выбранный хост при отключенной опции автоматического переключения мастера?Почему мастер переключается на случайно выбранный хост при отключенной опции автоматического переключения мастера?

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

Примечание

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

Почему при восстановлении работоспособности кластера происходит смена мастера, несмотря на отключенную опцию автоматического переключения мастера?Почему при восстановлении работоспособности кластера происходит смена мастера, несмотря на отключенную опцию автоматического переключения мастера?

Хост-мастер может переключиться на другой хост при восстановлении работоспособности даже при запрете на автоматическое переключение. Это сделано для обеспечения правильной работы кластера в указанных условиях. Подробнее читайте в разделе Высокая доступность кластера Managed Service for PostgreSQL.

Почему во время операций обслуживания происходит автоматическое переключение мастера, хотя эта опция выключена?Почему во время операций обслуживания происходит автоматическое переключение мастера, хотя эта опция выключена?

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

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

Предыдущая
Пользователи и роли
Следующая
Мониторинг и логи
Проект Яндекса
© 2025 ООО «Яндекс.Облако»