Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Stackland
  • Что нового
  • Установка
    • Все руководства
    • Установить Stackland на Yandex BareMetal
    • Установка Stackland на Yandex BareMetal через PXE
    • Установка Stackland на виртуальные машины в Yandex Cloud
    • Настройка внешнего доступа к поду в кластере
    • Все инструкции
    • Проекты
    • Ресурсная модель
    • Масштабирование кластера
      • Обзор
      • Certificate Manager
      • DNS
      • IAM
      • Logging Stack
      • Managed Service for Apache Kafka®
      • Managed Service for PostgreSQL
      • Managed Service for ClickHouse®
      • Iceberg REST Catalog
      • Managed Service for Trino
      • YTsaurus
      • DataLens
      • Monitoring
      • Object Storage
      • Дисковая подсистема
      • Поддержка NVIDIA® GPU
      • Policy Manager
      • Secrets Store
      • SpeechSense
  • Управление доступом
  • Правила тарификации
  • Диагностика и устранение неполадок

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

  • Конфигурация
  • Пользователи и базы данных
  • Аутентификация пользователя
  • Иммутабельные поля базы данных
  • Схемы
  • Статус ресурсов
  • Диагностика производительности
  • Собираемые метрики
  • Включение функции
  1. Концепции
  2. Компоненты
  3. Managed Service for PostgreSQL

Managed PostgreSQL

Статья создана
Yandex Cloud
Обновлена 2 июля 2026 г.
Открыть в Markdown
  • Конфигурация
  • Пользователи и базы данных
    • Аутентификация пользователя
    • Иммутабельные поля базы данных
    • Схемы
    • Статус ресурсов
  • Диагностика производительности
    • Собираемые метрики
    • Включение функции

Managed PostgreSQL — это управляемый сервис для работы с открытой объектно-реляционной системой управления базами данных (СУБД) PostgreSQL. Сервис упрощает развертывание и обновление кластера баз данных, обеспечивает отказоустойчивость, а также предоставляет инструменты для резервного копирования и мониторинга.

С помощью Managed PostgreSQL можно:

  • создавать и восстанавливать кластеры с помощью кастомного ресурса PostgresqlCluster;
  • создавать разовые резервные копии с помощью кастомного ресурса PostgresqlBackup.

Управлять интеграцией с PostgreSQL можно с помощью параметров кастомного ресурса ManagedPostgresConfig.

КонфигурацияКонфигурация

Пример:

apiVersion: stackland.yandex.cloud/v1alpha1
kind: ManagedPostgresConfig
metadata:
  name: main # Поле обязательно и должно иметь значение main
spec:
  enabled: true
  settings:
    monitoring:
      enabled: true
    stackland-postgres:
      replicas: 1
      resources:
        requests:
          cpu: "200m"
          memory: "256Mi"
        limits:
          cpu: "1000m"
          memory: "1Gi"
    stackland-wal-g:
      resources:
        requests:
          cpu: "200m"
          memory: "256Mi"
        limits:
          cpu: "1000m"
          memory: "1Gi"

Где:

  • enabled — включает или отключает компонент.
  • settings.stackland-postgres — настройки пода оператора:
    • replicas — количество реплик оператора.
    • resources — ограничения ресурсов (requests/limits) для пода оператора.
  • settings.stackland-wal-g — ресурсы для sidecar WAL-G (бэкапы/восстановление): resources с requests и limits.
  • settings.monitoring — мониторинг: enabled: true/false. По умолчанию включён, если блок не задан.
  • settings.performance-diagnostics — диагностика производительности: enabled: true/false.
  • settings.defaultPostgresResources — ресурсы по умолчанию для инстансов PostgreSQL в кластерах (requests/limits).
  • settings.defaultPoolerResources — ресурсы по умолчанию для инстансов Pooler (PgBouncer).

Все блоки в settings опциональны; можно задать только нужные.

Пользователи и базы данныхПользователи и базы данных

Managed PostgreSQL позволяет декларативно управлять пользователями и базами данных кластера через кастомные ресурсы Kubernetes:

  • PostgresqlRole — роль PostgreSQL и ее права. Подробнее см. в разделах Создать пользователя PostgreSQL, Изменить пользователя PostgreSQL, Удалить пользователя PostgreSQL.
  • PostgresqlDatabase — база данных и ее схемы. Подробнее см. в разделах Создать базу данных PostgreSQL, Изменить базу данных PostgreSQL, Удалить базу данных PostgreSQL.

Оба ресурса входят в группу postgresql.stackland.yandex.cloud/v1alpha1 и связаны с кластером через поле spec.cluster.

Аутентификация пользователяАутентификация пользователя

Пароль пользователя хранится в Kubernetes Secret. Возможны два варианта:

  • Если в ресурсе PostgresqlRole не задан блок spec.authentication, оператор автоматически создает Secret с тем же именем, что и у ресурса PostgresqlRole, и записывает в него сгенерированный пароль.
  • Если в spec.authentication.secretName указано имя существующего Secret и тип аутентификации password, оператор использует учетные данные из этого Secret. Secret должен содержать ключи username с именем пользователя и password с паролем.

Чтобы изменить пароль, обновите значение ключа password в связанном Secret.

Иммутабельные поля базы данныхИммутабельные поля базы данных

После создания базы данных нельзя изменить:

  • name — имя базы данных в PostgreSQL.
  • template — шаблон, на основе которого создается база данных.
  • encoding — кодировка символов.
  • localeProvider, locale, localeCollate, localeCType, icuLocale, icuRules, builtinLocale — провайдер и параметры локали.
  • collationVersion — версия collation.

СхемыСхемы

Список spec.schemas ресурса PostgresqlDatabase описывает управляемые схемы PostgreSQL. У каждого элемента есть поле state: present — создать или поддерживать, absent — удалить. Текущее состояние оператор записывает в status.schemas.

Статус ресурсовСтатус ресурсов

  • PostgresqlRole.status.ready — true, если роль успешно применена в кластере.
  • PostgresqlDatabase.status.applied — true, если база данных успешно применена в кластере.
  • status.conditions — стандартные условия Kubernetes (type, status, reason, message, lastTransitionTime), описывающие ход реконсиляции ресурса.

Диагностика производительностиДиагностика производительности

Performance Diagnostics — это функция сбора и визуализации статистики производительности PostgreSQL кластеров. Она позволяет анализировать производительность SQL-запросов и активность сессий для выявления узких мест и оптимизации работы базы данных.

Система диагностики производительности состоит из следующих компонентов:

  • perfdiag sidecar — контейнер-сайдкар, который собирает статистику из PostgreSQL.
  • ClickHouse® — хранилище для долгосрочного хранения метрик производительности.
  • Grafana Dashboard — преднастроенный дашборд «PostgreSQL Cluster Performance Diagnostics» для визуализации собранных данных.

Собираемые метрикиСобираемые метрики

Performance Diagnostics собирает следующие типы метрик:

Статистика активности сессий:

  • Текущее состояние сессий (state, query, pid, user, application_name).
  • События ожидания (wait_event, wait_event_type).
  • Блокирующие процессы (blocking_pids).

Статистика выполнения запросов:

  • Время выполнения (среднее и суммарное).
  • Использование CPU (user time, system time).
  • Операции ввода-вывода (чтение и запись в файловую систему, работа с shared-, local-, temp-блоками).
  • Количество обработанных строк.
  • Объём сгенерированных WAL-записей.
  • Количество вызовов запроса.

Включение функцииВключение функции

Для использования Performance Diagnostics необходимо:

  1. Включить функцию на уровне платформы в конфигурации ManagedPostgresConfig:

    spec:
      settings:
        performance-diagnostics:
          enabled: true
    
  2. Включить сбор статистики для конкретного кластера в PostgresqlCluster:

    spec:
      enablePerfDiagStatsCollect: true
    

Подробнее см. в разделе Диагностика производительности PostgreSQL.

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

Предыдущая
Managed Service for Apache Kafka®
Следующая
Managed Service for ClickHouse®
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»