Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Решения
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Managed Service for PostgreSQL
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • SQL-запросы в консоли управления
    • Изменение настроек кластера и базы данных
    • Подключение к DataLens
    • Управление хостами PostgreSQL
    • Управление базами данных
    • Управление PostgreSQL-расширениями
    • Управление пользователями БД
    • Назначение привилегий и ролей
    • Управление резервными копиями
    • Удаление кластера
    • Диагностика производительности
    • Миграция базы данных в Yandex.Cloud
    • Создание логической реплики Аmazon RDS для PostgreSQL в Managed Service for PostgreSQL
  • Сценарии использования
    • Создание кластера PostgreSQL для 1С
    • Миграция базы данных из Managed Service for PostgreSQL
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
      • Действующие классы хостов
      • Архив
        • До 1 июня 2020 года
      • Использование устаревших классов хостов
    • Сеть в Managed Service for PostgreSQL
    • Квоты и лимиты
    • Типы хранилища
    • Резервные копии
    • Назначение ролей
    • Управление соединениями
    • Репликация
    • Поддерживаемые клиенты
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта 2019 года до 1 февраля 2020 года
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • BackupService
      • ClusterService
      • DatabaseService
      • ResourcePresetService
      • UserService
      • OperationService
    • REST
      • Обзор
      • Backup
        • Обзор
        • get
        • list
      • Cluster
        • Обзор
        • addHosts
        • backup
        • create
        • delete
        • deleteHosts
        • get
        • list
        • listBackups
        • listHosts
        • listLogs
        • listOperations
        • move
        • restore
        • start
        • startFailover
        • stop
        • update
        • updateHosts
      • Database
        • Обзор
        • create
        • delete
        • get
        • list
        • update
      • ResourcePreset
        • Обзор
        • get
        • list
      • User
        • Обзор
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Operation
        • Обзор
        • get
  • Вопросы и ответы
    • Общие вопросы
    • Вопросы о PostgreSQL
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Изменение настроек кластера и базы данных

Изменение настроек кластера

  • Изменить класс хостов
  • Увеличить размер хранилища
  • Изменить настройки PostgreSQL
  • Изменить дополнительные настройки кластера
  • Установить режим работы менеджера соединений
  • Переключить мастер
  • Изменить группы безопасности

После создания кластера вы можете:

  • Изменить класс хостов.

  • Увеличить размер хранилища (доступно только для сетевого хранилища, network-hdd и network-ssd).

  • Настроить серверы PostgreSQL согласно документации PostgreSQL.

  • Изменить дополнительные настройки кластера.

  • Установить режим работы менеджера соединений.

  • Вручную переключать мастер в кластере.

  • Изменить группы безопасности кластера

Важно

Вы не можете менять настройки серверов PostgreSQL с помощью команд SQL.

Изменить класс хостов

Консоль управления
CLI
API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
  2. Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.
  3. В блоке Класс хоста выберите нужный класс для хостов PostgreSQL.
  4. Нажмите кнопку Сохранить изменения.

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы изменить класс хостов для кластера:

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

    $ yc managed-postgresql cluster update --help
    
  2. Запросите список доступных классов хостов (в колонке ZONES указаны зоны доступности, в которых можно выбрать соответствующий класс):

    $ yc managed-postgresql resource-preset list
    
    +-----------+--------------------------------+-------+----------+
    |    ID     |            ZONE IDS            | CORES |  MEMORY  |
    +-----------+--------------------------------+-------+----------+
    | s1.micro  | ru-central1-a, ru-central1-b,  |     2 | 8.0 GB   |
    |           | ru-central1-c                  |       |          |
    | ...                                                           |
    +-----------+--------------------------------+-------+----------+
    
  3. Укажите нужный класс в команде изменения кластера:

    $ yc managed-postgresql cluster update <имя кластера>
         --resource-preset <ID класса>
    

    Managed Service for PostgreSQL запустит операцию изменения класса хостов для кластера.

Изменить класс хостов кластера можно с помощью метода API update: передайте в запросе нужное значение в параметре configSpec.resources.resourcePresetId.

Список поддерживаемых значений запрашивайте методом list для ресурсов ResourcePreset.

Увеличить размер хранилища

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

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

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

  1. Проверьте, что нужный кластер использует именно сетевое хранилище (увеличить размер локального хранилища пока невозможно). Для этого запросите информацию о кластере и найдите поле disk_type_id — его значение должно быть network-hdd или network-ssd:

    $ yc managed-postgresql cluster get <имя кластера>
    
    id: c7qkvr3u78qiopj3u4k2
    folder_id: b1g0ftj57rrjk9thribv
    ...
    config:
      ...
      resources:
        resource_preset_id: s1.micro
        disk_size: "10737418240"
        disk_type_id: network-ssd
    ...
    
  2. Посмотрите описание команды CLI для изменения кластера:

    $ yc managed-postgresql cluster update --help
    
  3. Проверьте, что в облаке хватает квоты на увеличение хранилища: откройте страницу Квоты для вашего облака и проверьте, что в секции Yandex Managed Service for PostgreSQL не исчерпано место в строке space.

  4. Укажите нужный объем хранилища в команде изменения кластера (должен быть не меньше, чем значение disk_size в свойствах кластера):

    $ yc managed-postgresql cluster update <имя кластера>
         --disk-size <размер хранилища в ГБ>
    

    Если все условия выполнены, Managed Service for PostgreSQL запустит операцию по увеличению объема хранилища.

Изменить размер хранилища для кластера можно с помощью метода API update: передайте в запросе нужные значения в параметре configSpec.postgresqlConfig_<версия>.resources.diskSize.

Проверьте, что в облаке хватает квоты на увеличение хранилища: откройте страницу Квоты для вашего облака и проверьте, что в секции Yandex Managed Service for PostgreSQL не исчерпано место в строке space.

Изменить настройки PostgreSQL

Вы можете изменить настройки СУБД для хостов вашего кластера — как установленные по умолчанию, так и изменяющиеся вместе с классом хостов.

С изменением класса хостов Managed Service for PostgreSQL автоматически меняет следующие настройки (если они не были выставлены вручную):

  • max_connections
  • shared_buffers
  • min_wal_size
  • max_wal_size
  • autovacuum_max_workers
  • autovacuum_vacuum_cost_delay
  • autovacuum_vacuum_cost_limit

Настройки, которые вы установили вручную, больше не будут меняться автоматически. Исключения могут возникать, если с изменением класса хоста установленное значение не становится недействительным: например, не получится задать значение 800 для max_connections, а затем изменить класс хостов кластера на s2.micro (подробнее о максимальном количестве подключений см. в разделе Создание PostgreSQL-кластера).

CLI
API

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы изменить настройки сервера PostgreSQL:

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

    $ yc managed-postgresql cluster get <имя кластера> --full
    
  2. Посмотрите описание команды CLI для изменения конфигурации кластера:

    $ yc managed-postgresql cluster update-config --help
    
  3. Установите нужные значения параметров.

    Все поддерживаемые параметры перечислены в формате запроса для метода update, в поле postgresqlConfig_<версия>. Чтобы указать имя параметра в вызове CLI, преобразуйте его имя из вида lowerCamelCase в snake_case, например, параметр logMinDurationStatement из запроса к API преобразуется в log_min_duration_statement для команды CLI:

    $ yc managed-postgresql cluster update-config <имя кластера>
         --set log_min_duration_statement=100,<имя параметра>=<значение>,...
    

    Managed Service for PostgreSQL запустит операцию по изменению настроек кластера.

Изменить настройки СУБД для кластера можно с помощью метода API update: передайте в запросе нужные значения в параметре configSpec.postgresqlConfig_<версия>.config.

Изменить дополнительные настройки кластера

Консоль управления
CLI
API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.

  2. Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.

  3. Измените дополнительные настройки кластера:

    • Начало резервного копирования (UTC) — время по UTC, когда требуется начать резервное копирование кластера (в 24-часовом формате). Если время не задано, резервное копирование начнется в 22:00 UTC.

    • Окно обслуживания — настройки окна технического обслуживания. С их помощью вы можете указать предпочтительное время начала проведения операций по техническому обслуживанию хостов кластера (например, можно выбрать время, когда кластер наименее нагружен запросами):

      • Чтобы указать предпочтительное время начала окна технического обслуживания, выберите пункт по расписанию и задайте нужные день недели и час дня в UTC (Coordinated Universal Time), выбрав значения из выпадающих списков.
      • Чтобы разрешить проведение операций технического обслуживания в любое время, выберите пункт произвольное.

      Операции по техническому обслуживанию могут включать в себя: обновление версии СУБД, применение патчей и так далее.

    • Доступ из DataLens — включите эту опцию, чтобы получить возможность анализировать данные из кластера в сервисе Yandex DataLens. Подробнее о настройке подключения см. в разделе Подключение к DataLens.

    • Доступ из консоли управления — включите эту опцию, чтобы получить возможность выполнять SQL-запросы к базам кластера из консоли управления Yandex.Cloud.

    • Сбор статистики — включите эту опцию, чтобы воспользоваться инструментом Диагностика производительности в кластере. Эта функциональность находится на стадии Preview.

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы изменить дополнительные настройки кластера:

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

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

    yc managed-postgresql cluster update <имя кластера> \
        --backup-window-start <время начала резервного копирования> \
        --datalens-access=<true или false> \
        --maintenance-window type=<weekly или anytime> \
        --websql-access=<true или false>
    

Вы можете изменить следующие настройки:

  • --backup-window-start — время начала резервного копирования кластера, задается по UTC в формате HH:MM:SS. Если время не задано, резервное копирование начнется в 22:00 UTC.
  • --datalens-access — разрешает доступ из DataLens. Значение по умолчанию — false. Подробнее о настройке подключения см в разделе Подключение к DataLens.
  • --maintenance-window — настройки окна технического обслуживания. С их помощью вы можете указать предпочтительное время начала проведения операций по техническому обслуживанию хостов кластера (например, можно выбрать время, когда кластер наименее нагружен запросами):
    • type=anytime — техническое обслуживание может проводиться в любое время.
    • type=weekly — техническое обслуживание должно выполняться по расписанию. Укажите через запятую в параметрах day и hour предпочтительные день и час начала окна технического обслуживания, например: type=weekly,day=wed,hour=14.
      По умолчанию техническое обслуживание может проводиться в любое время.
  • --websql-access — разрешает выполнять SQL запросы из консоли управления. Значение по умолчанию — false.

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

Воспользуйтесь методом API update: передайте в запросе нужные значения в параметрах configSpec.access и configSpec.backupWindowStart.

Установить режим работы менеджера соединений

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

CLI
API

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы изменить режим работы менеджера соединений:

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

    $ yc managed-postgresql cluster update --help
    
  2. Укажите нужный режим работы с помощью флага --connection-pooling-mode:

    $ yc managed-postgresql cluster update <имя кластера>
         --connection-pooling-mode <SESSION или TRANSACTION>
    

    Managed Service for PostgreSQL запустит операцию по изменению режима работы менеджера соединений.

Изменить режим работы менеджера соединений для кластера можно с помощью метода API update: передайте в запросе нужное значение в параметре configSpec.poolerConfig.poolingMode.

Переключить мастер

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

Особенности переключения мастера в Managed Service for PostgreSQL:

  1. Переключить мастер на реплику, для которой явно указан источник потока репликации, нельзя.
  2. Если явно не указать имя хоста-реплики, мастер переключится на синхронную реплику.

Подробнее см. в разделе Репликация.

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

Чтобы переключить мастер:

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

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы переключить мастер, выполните команду:

$ yc managed-postgresql cluster start-failover <имя кластера> --host <имя хоста-реплики>

Имя хоста-реплики можно запросить со списком хостов в кластере, имя кластера — со списком кластеров в каталоге.

Чтобы переключить мастер, воспользуйтесь методом API startFailover и передайте в запросе:

  1. Идентификатор кластера, в котором нужно переключить мастер, в параметре clusterId. Чтобы узнать идентификатор, получите список кластеров в каталоге.
  2. Имя хоста-реплики, на которую нужно переключиться, в параметре hostName. Чтобы узнать имя, получите список хостов в кластере.

Изменить группы безопасности

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

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы изменить список групп безопасности для кластера:

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

    $ yc managed-postgresql cluster update --help
    
  2. Укажите нужные группы безопасности в команде изменения кластера:

    $ yc managed-postgresql cluster update <имя кластера>
         --security-group-ids <список групп безопасности>
    

Чтобы изменить список групп безопасности кластера, воспользуйтесь методом API update и передайте в запросе:

  • Идентификатор кластера в параметре clusterId. Чтобы узнать идентификатор, получите список кластеров в каталоге.
  • Список групп в параметре securityGroupIds.
  • Список настроек, которые необходимо изменить, в параметре updateMask. Если не задать этот параметр, метод API сбросит на значения по умолчанию все настройки кластера, которые не были явно указаны в запросе.

Важно

Может потребоваться дополнительная настройка групп безопасности для подключения к кластеру.

В этой статье:
  • Изменить класс хостов
  • Увеличить размер хранилища
  • Изменить настройки PostgreSQL
  • Изменить дополнительные настройки кластера
  • Установить режим работы менеджера соединений
  • Переключить мастер
  • Изменить группы безопасности
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»