Изменение настроек кластера PostgreSQL
После создания кластера вы можете:
-
Настроить серверы согласно документации PostgreSQL
. -
Переместить кластер в другой каталог.
Подробнее о других изменениях кластера:
Изменить класс хостов
Примечание
Некоторые настройки PostgreSQL зависят от выбранного класса хостов.
При смене класса хостов:
- Кластер из одного хоста будет недоступен несколько минут, соединения с БД будут прерваны.
- В кластере из нескольких хостов сменится мастер. Каждый хост по очереди будет остановлен и обновлен, остановленный хост будет недоступен несколько минут.
- Подключение по особому FQDN не гарантирует стабильность соединения с БД: пользовательские сессии могут быть прерваны.
Рекомендуется изменять класс хостов только во время отсутствия рабочей нагрузки на кластер.
- Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
- Выберите кластер и нажмите кнопку
- В блоке Класс хоста выберите нужный класс для хостов PostgreSQL.
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить класс хостов для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-postgresql cluster update --help
-
Запросите список доступных классов хостов (в колонке
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-d | | | | ... | +-----------+--------------------------------+-------+----------+
-
Укажите нужный класс в команде изменения кластера:
yc managed-postgresql cluster update <имя_или_идентификатор_кластера> \ --resource-preset <идентификатор_класса_хостов>
Managed Service for PostgreSQL запустит операцию изменения класса хостов для кластера.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Managed Service for PostgreSQL см. в документации провайдера Terraform
. -
Измените в описании кластера Managed Service for PostgreSQL значение атрибута
resource_preset_id
в блокеconfig.resources
:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... config { resources { resource_preset_id = "<класс_хоста>" ... } } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for PostgreSQL:
- создание, в том числе путем восстановления из резервной копии, — 30 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?Добавьте к описанию кластера блок
timeouts
, например:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } }
-
Чтобы изменить класс хостов для кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор кластера, получите список кластеров в каталоге. - Идентификатор класса хоста в параметре
configSpec.resources.resourcePresetId
. Список поддерживаемых значений запрашивайте методом list для ресурсовResourcePreset
. - Список настроек, которые необходимо изменить (в данном случае —
configSpec.resources.resourcePresetId
), в параметреupdateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Изменить настройки PostgreSQL
Вы можете изменить настройки СУБД для хостов вашего кластера.
Важно
- Вы не можете менять настройки PostgreSQL с помощью команд SQL.
- Некоторые настройки PostgreSQL зависят от выбранного класса хостов или размера хранилища.
- Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
- Выберите кластер и нажмите кнопку
- Измените настройки PostgreSQL, нажав кнопку Настроить в блоке Настройки СУБД.
- Нажмите кнопку Сохранить.
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить настройки PostgreSQL:
-
Посмотрите полный список настроек, установленных для кластера:
yc managed-postgresql cluster get <имя_или_идентификатор_кластера> --full
-
Посмотрите описание команды CLI для изменения конфигурации кластера:
yc managed-postgresql cluster update-config --help
-
Установите нужные значения параметров:
Все поддерживаемые параметры перечислены в формате запроса для метода update, в поле
postgresqlConfig_<версия_PostgreSQL>
. Чтобы указать имя параметра в вызове CLI, преобразуйте его имя из видаlowerCamelCase
вsnake_case
, например, параметрmaxPreparedTransactions
из запроса к API преобразуется вmax_prepared_transactions
для команды CLI:yc managed-postgresql cluster update-config <имя_или_идентификатор_кластера> \ --set <имя_параметра_1>=<значение_1>,<имя_параметра_2>=<значение_2>,...
Managed Service for PostgreSQL запустит операцию по изменению настроек кластера.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Managed Service for PostgreSQL см. в документации провайдера Terraform
. -
Измените в описании кластера Managed Service for PostgreSQL значения параметров в блоке
config.postgresql_config
. Если такого блока нет — создайте его.resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... config { ... postgresql_config = { max_connections = <максимальное_количество_соединений> enable_parallel_hash = <true_или_false> vacuum_cleanup_index_scale_factor = <число_от_0_до_1> ... } } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for PostgreSQL:
- создание, в том числе путем восстановления из резервной копии, — 30 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?Добавьте к описанию кластера блок
timeouts
, например:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } }
-
Чтобы изменить настройки сервера PostgreSQL, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор кластера, получите список кластеров в каталоге. - Нужные значения настроек в параметре
configSpec.postgresqlConfig_<версия_PostgreSQL>
. - Список настроек, которые необходимо изменить, в параметре
updateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Изменить дополнительные настройки кластера
-
Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
-
Выберите кластер и нажмите кнопку
-
Измените дополнительные настройки кластера:
-
Начало резервного копирования (UTC) — промежуток времени, в течение которого начинается резервное копирование кластера. Время указывается по UTC в 24-часовом формате. По умолчанию —
22:00 - 23:00
UTC. -
Срок хранения автоматических резервных копий, дней — время, в течение которого нужно хранить созданные автоматически резервные копии. Если для такой копии истекает срок хранения, то она удаляется. Значение по умолчанию — 7 дней. Подробнее см. в разделе Резервные копии.
Изменение срока хранения затрагивает как новые автоматические резервные копии, так и уже существующие. Например, изначальный срок хранения был 7 дней. Оставшееся время жизни отдельной автоматической резервной копии при таком сроке — 1 день. При увеличении срока хранения до 9 дней оставшееся время жизни этой резервной копии будет уже 3 дня.
Автоматические резервные копии кластера хранятся заданное количество дней, а созданные вручную — бессрочно. После удаления кластера все копии хранятся 7 дней.
-
Окно обслуживания — настройки времени технического обслуживания:
- Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт произвольное (по умолчанию).
- Чтобы указать предпочтительное время начала обслуживания, выберите пункт по расписанию и укажите нужные день недели и час дня по UTC. Например, можно выбрать время, когда кластер наименее загружен.
Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать в себя: обновление СУБД, применение патчей и так далее.
-
Доступ из DataLens — опция разрешает анализировать данные из кластера в сервисе Yandex DataLens.
-
Доступ из консоли управления — опция разрешает выполнять SQL-запросы к базам кластера из консоли управления Yandex Cloud.
-
Доступ из Data Transfer в режиме Serverless — включите эту опцию, чтобы разрешить доступ к кластеру из сервиса Yandex Data Transfer в Serverless-режиме.
Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.
-
Доступ из Serverless — включите эту опцию, чтобы разрешить доступ к кластеру из сервиса Yandex Cloud Functions. Подробнее о настройке доступа см. в документации Cloud Functions.
-
Сбор статистики — опция разрешает использовать в кластере инструмент Диагностика производительности. Если опция включена, настройте также Интервал сбора сессий и Интервал сбора запросов при помощи ползунков. Единицы измерения обеих настроек — секунды.
Эта функциональность находится на стадии Preview.
-
Автоматическое переключение мастера — включите эту опцию, чтобы при смене мастера источник репликации для всех хостов-реплик автоматически переключился на новый хост-мастер. Подробнее см. в разделе Репликация.
При удалении хоста-мастера новый мастер будет выбран автоматически независимо от значения этой опции.
Внимание
Если опция Автоматическое переключение мастера выключена, при выходе хоста-мастера из строя запустить выборы нового мастера или назначить эту роль одной из реплик придется вручную.
-
Режим работы менеджера подключений — выберите один из режимов работы менеджера подключений.
-
Защита от удаления — управляет защитой кластера, его баз данных и пользователей от непреднамеренного удаления.
По умолчанию при создании пользователей и БД значение параметра наследуется от кластера. Значение также можно задать вручную, подробнее см. в разделах Управление пользователями и Управление БД.
Если параметр изменен на работающем кластере, новое значение унаследуют только пользователи и БД с защитой Как у кластера.
Включенная защита от удаления не помешает подключиться вручную и удалить содержимое базы данных.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить дополнительные настройки кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-postgresql cluster update --help
-
Выполните команду, передав список настроек, которые хотите изменить:
yc managed-postgresql cluster update <имя_или_идентификатор_кластера> \ --backup-window-start <время_начала_резервного_копирования> \ --datalens-access=<true_или_false> \ --maintenance-window type=<тип_технического_обслуживания>,` `day=<день_недели>,` `hour=<час_дня> \ --websql-access=<true_или_false> \ --deletion-protection=<защита_от_удаления> \ --connection-pooling-mode=<режим_работы_менеджера_подключений> \ --serverless-access=<true_или_false> \ --yandexquery-access=<доступ_через_Query> \ --performance-diagnostics enabled=<true_или_false>,` `sessions-sampling-interval=<интервал_сбора_сессий>,` `statements-sampling-interval=<интервал_сбора_запросов>
Вы можете изменить следующие настройки:
--backup-window-start
— время начала резервного копирования кластера, задается по UTC в форматеHH:MM:SS
. Если время не задано, резервное копирование начнется в 22:00 UTC.
-
--datalens-access
— разрешает доступ из DataLens. Значение по умолчанию —false
. Подробнее о настройке подключения см. в разделе Подключение к кластеру из DataLens. -
--maintenance-window
— настройки времени технического обслуживания (в т. ч. для выключенных кластеров), гдеtype
— тип технического обслуживания:anytime
(по умолчанию) — в любое время.weekly
— по расписанию. При задании этого значения укажите день недели и час дня:day
— день недели в форматеDDD
:MON
,TUE
,WED
,THU
,FRI
,SAT
илиSUN
.hour
— час дня по UTC в форматеHH
: от1
до24
.
-
--websql-access
— разрешает выполнять SQL запросы из консоли управления. Значение по умолчанию —false
. -
--serverless-access
— разрешает доступ к кластеру из сервиса Yandex Cloud Functions. Значение по умолчанию —false
. Подробнее о настройке доступа см. в документации Cloud Functions. -
--yandexquery-access
— разрешает доступ к кластеру из сервиса Yandex Query. Функциональность находится на стадии Preview и предоставляется по запросу. -
--autofailover
– управляет настройкой автоматической смены мастера. Подробнее см. в разделе Репликация. Значение по умолчанию —true
. -
--connection-pooling-mode
— указывает режим работы менеджера подключений:SESSION
,TRANSACTION
илиSTATEMENT
. -
--deletion-protection
— защита кластера, его баз данных и пользователей от непреднамеренного удаления:true
илиfalse
.По умолчанию при создании пользователей и БД значение параметра наследуется от кластера. Значение также можно задать вручную, подробнее см. в разделах Управление пользователями и Управление БД.
Если параметр изменен на работающем кластере, новое значение унаследуют только пользователи и БД с защитой Как у кластера.
Включенная защита от удаления не помешает подключиться вручную и удалить содержимое базы данных.
-
--performance-diagnostics
— настройки сбора статистики:enabled
— значениеtrue
активирует сбор статистики. Значение по умолчанию —false
.sessions-sampling-interval
— интервал сбора сессий, в секундах. Допустимые значения — от1
до86400
.statements-sampling-interval
— интервал сбора запросов, в секундах. Допустимые значения — от60
до86400
.
Имя кластера можно получить со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Managed Service for PostgreSQL см. в документации провайдера Terraform
. -
Чтобы изменить время начала резервного копирования, добавьте к описанию кластера Managed Service for PostgreSQL блок
config.backup_window_start
.resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... config { backup_window_start { hours = <час_начала_резервного_копирования> minutes = <минута_начала_резервного_копирования> } ... } }
-
Чтобы разрешить доступ из Yandex DataLens и выполнение SQL-запросов из консоли управления, измените значения соответствующих полей в блоке
config.access
:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... config { access { data_lens = <доступ_из_DataLens> web_sql = <выполнение_SQL-запросов_из_консоли_управления> ... } ... }
Где:
data_lens
— доступ из DataLens:true
илиfalse
.web_sql
— выполнение SQL-запросов из консоли управления:true
илиfalse
.
-
Чтобы изменить режим работы менеджера подключений, добавьте к описанию кластера Managed Service for PostgreSQL блок
config.pooler_config
:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... config { pooler_config { pool_discard = <параметр_Odyssey> pooling_mode = "<режим_работы>" } ... } }
Где:
pool_discard
— параметр Odysseypool_discard
:true
илиfalse
.pooling_mode
— режим работы:SESSION
,TRANSACTION
илиSTATEMENT
.
-
Чтобы настроить время технического обслуживания (в т. ч. для выключенных кластеров), добавьте к описанию кластера блок
maintenance_window
:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... maintenance_window { type = <тип_технического_обслуживания> day = <день_недели> hour = <час_дня> } ... }
Где:
type
— тип технического обслуживания. Принимает значения:ANYTIME
— в любое время.WEEKLY
— по расписанию.
day
— день недели для типаWEEKLY
в форматеDDD
. Например,MON
.hour
— час дня по UTC для типаWEEKLY
в форматеHH
. Например,21
.
-
Чтобы настроить сбор статистики, добавьте в блок
config
блокperformance_diagnostics
:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... config { ... performance_diagnostics { enabled = <активация_сбора_статистики> sessions_sampling_interval = <интервал_сбора_сессий> statements_sampling_interval = <интервала_сбора_запросов> } ... } ... }
Где:
enabled
— активация сбора статистики:true
илиfalse
.sessions_sampling_interval
— интервал сбора сессий от1
до86400
секунд.statements_sampling_interval
— интервала сбора запросов от60
до86400
секунд.
-
Чтобы включить защиту кластера, его баз данных и пользователей от непреднамеренного удаления, добавьте к описанию кластера поле
deletion_protection
со значениемtrue
:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... deletion_protection = <защита_от_удаления> }
Где
deletion_protection
— защита от удаления кластера, его баз данных и пользователей:true
илиfalse
.По умолчанию при создании пользователей и БД значение параметра наследуется от кластера. Значение также можно задать вручную, подробнее см. в разделах Управление пользователями и Управление БД.
Если параметр изменен на работающем кластере, новое значение унаследуют только пользователи и БД с защитой Как у кластера.
Включенная защита от удаления не помешает подключиться вручную и удалить содержимое базы данных.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for PostgreSQL:
- создание, в том числе путем восстановления из резервной копии, — 30 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?Добавьте к описанию кластера блок
timeouts
, например:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } }
-
Чтобы изменить дополнительные настройки кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
-
Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор кластера, получите список кластеров в каталоге. -
Настройки доступа из других сервисов и к SQL-запросам из консоли управления в параметре
configSpec.access
. -
Настройки окна резервного копирования в параметре
configSpec.backupWindowStart
. -
Режим работы менеджера подключений в параметре
configSpec.poolerConfig.poolingMode
. -
Настройки времени технического обслуживания (в т. ч. для выключенных кластеров) в параметре
maintenanceWindow
. -
Настройки защиты от удаления кластера, его баз данных и пользователей в параметре
deletionProtection
:true
илиfalse
.По умолчанию при создании пользователей и БД значение параметра наследуется от кластера. Значение также можно задать вручную, подробнее см. в разделах Управление пользователями и Управление БД.
Если параметр изменен на работающем кластере, новое значение унаследуют только пользователи и БД с защитой Как у кластера.
Включенная защита от удаления не помешает подключиться вручную и удалить содержимое базы данных.
-
Список изменяемых полей конфигурации кластера в параметре
updateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Чтобы разрешить доступ к кластеру из сервиса Yandex Cloud Functions, передайте значение true
для параметра configSpec.access.serverless
. Подробнее о настройке доступа см. в документации Cloud Functions.
Чтобы разрешить доступ к кластеру из сервиса Yandex Query, передайте значение true
для параметра configSpec.access.yandexQuery
. Функциональность находится на стадии Preview и предоставляется по запросу.
Чтобы активировать сбор статистики:
- Передайте значение
true
в параметреconfig.performanceDiagnostics.enabled
. - Передайте значение интервала сбора сессий в параметре
config.performanceDiagnostics.sessionsSamplingInterval
. - Передайте значение интервала сбора запросов в параметре
config.performanceDiagnostics.statementsSamplingInterval
.
Допустимые значения параметров:
config.performanceDiagnostics.sessionsSamplingInterval
— от1
до86400
секунд.config.performanceDiagnostics.statementsSamplingInterval
— от60
до86400
секунд.
Чтобы разрешить доступ к кластеру из сервиса Yandex Data Transfer в Serverless-режиме, передайте значение true
для параметра configSpec.access.dataTransfer
.
Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.
Вручную переключить хост-мастер
В отказоустойчивом кластере Managed Service for PostgreSQL из нескольких хостов вы можете переключить роль мастера с текущего хоста-мастера на одну из реплик. После этой операции текущий хост-мастер станет хостом-репликой для нового мастера.
Особенности переключения мастера в Managed Service for PostgreSQL:
- Нельзя сделать мастером реплику, для которой явно указан источник потока репликации.
- Если явно не указать имя хоста-реплики, мастер переключится на одну из кворумных реплик.
Подробнее см. в разделе Репликация.
Чтобы переключить мастер:
- Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
- Нажмите на имя нужного кластера и выберите вкладку
- Нажмите кнопку
- Чтобы переключить мастер на одну из кворумных реплик, оставьте опцию Выбрать хост-мастер автоматически включенной.
- Чтобы переключить мастер на конкретную реплику, выключите опцию Выбрать хост-мастер автоматически и затем выберите нужную реплику из выпадающего списка.
- Нажмите кнопку Переключить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Выполните команду:
yc managed-postgresql cluster start-failover <имя_или_идентификатор_кластера> \
--host <имя_хоста-реплики>
Имя хоста-реплики можно запросить со списком хостов в кластере, имя кластера — со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Managed Service for PostgreSQL см. в документации провайдера Terraform
. -
Укажите имя хоста-реплики, на которую нужно переключиться, в параметре
host_master_name
.resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... host_master_name = "<имя_хоста-реплики>" }
Где
host_master_name
— имя хоста-реплики: атрибутname
соответствующего блокаhost
. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for PostgreSQL:
- создание, в том числе путем восстановления из резервной копии, — 30 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?Добавьте к описанию кластера блок
timeouts
, например:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } }
-
Чтобы переключить хост-мастер, воспользуйтесь методом REST API startFailover для ресурса Cluster или вызовом gRPC API ClusterService/StartFailover и передайте в запросе:
- Идентификатор кластера, в котором нужно переключить мастер, в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - (Опционально) Имя хоста-реплики, которую нужно сделать мастером, в параметре
hostName
. Чтобы узнать имя, получите список хостов в кластере.
Переместить кластер
- Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
- Нажмите на значок
- Выберите пункт Переместить.
- Выберите каталог, в который вы хотите переместить кластер.
- Нажмите кнопку Переместить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы переместить кластер:
-
Посмотрите описание команды CLI для перемещения кластера:
yc managed-postgresql cluster move --help
-
Укажите каталог назначения в команде перемещения кластера:
yc managed-postgresql cluster move <идентификатор_кластера> \ --destination-folder-name=<имя_каталога_назначения>
Идентификатор кластера можно получить со списком кластеров в каталоге.
Чтобы переместить кластер, воспользуйтесь методом REST API move для ресурса Cluster или вызовом gRPC API ClusterService/Move и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Идентификатор каталога назначения в параметре
destinationFolderId
.
После перемещения кластер продолжит использовать облачную сеть из исходного каталога. Если вы хотите разместить кластер в другой облачной сети, воспользуйтесь функцией восстановления из резервной копии и укажите необходимую сеть для копии кластера.
Если вы хотите переместить кластер в другую зону доступности, обратитесь к инструкции. В результате вы перенесете хосты кластера.
Изменить группы безопасности
- Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
- Выберите кластер и нажмите кнопку
- В блоке Сетевые настройки выберите группы безопасности для сетевого трафика кластера.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить список групп безопасности для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-postgresql cluster update --help
-
Укажите нужные группы безопасности в команде изменения кластера:
yc managed-postgresql cluster update <имя_или_идентификатор_кластера> \ --security-group-ids <список_идентификаторов_групп_безопасности>
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Managed Service for PostgreSQL см. в документации провайдера Terraform
. -
Измените значение параметра
security_group_ids
в описании кластера:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... security_group_ids = [ <список_идентификаторов_групп_безопасности> ] }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for PostgreSQL:
- создание, в том числе путем восстановления из резервной копии, — 30 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?Добавьте к описанию кластера блок
timeouts
, например:resource "yandex_mdb_postgresql_cluster" "<имя_кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } }
-
Чтобы изменить список групп безопасности для кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Список идентификаторов групп безопасности в параметре
securityGroupIds
. - Список настроек, которые необходимо изменить (в данном случае —
securityGroupIds
), в параметреupdateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Важно
Может потребоваться дополнительная настройка групп безопасности для подключения к кластеру.