Изменение настроек кластера
После создания кластера вы можете:
-
Увеличить размер хранилища (доступно только для сетевого хранилища,
network-hdd
иnetwork-ssd
). -
Настроить серверы PostgreSQL согласно документации PostgreSQL.
Важно
Вы не можете менять настройки серверов PostgreSQL с помощью команд SQL.
Изменить класс хостов
- Перейдите на страницу каталога и выберите сервис 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-c | | | | ... | +-----------+--------------------------------+-------+----------+
-
Укажите нужный класс в команде изменения кластера:
$ yc managed-postgresql cluster update <имя кластера> --resource-preset <ID класса>
Managed Service for PostgreSQL запустит операцию изменения класса хостов для кластера.
Изменить класс хостов кластера можно с помощью метода API update: передайте в запросе нужное значение в параметре configSpec.resources.resourcePresetId
.
Список поддерживаемых значений запрашивайте методом list для ресурсов ResourcePreset
.
Увеличить размер хранилища
- Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
- Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.
- В блоке Размер хранилища укажите необходимое значение.
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы увеличить размер хранилища для кластера:
-
Проверьте, что нужный кластер использует именно сетевое хранилище (увеличить размер локального хранилища пока невозможно). Для этого запросите информацию о кластере и найдите поле
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 ...
-
Посмотрите описание команды CLI для изменения кластера:
$ yc managed-postgresql cluster update --help
-
Проверьте, что в облаке хватает квоты на увеличение хранилища: откройте страницу Квоты для вашего облака и проверьте, что в секции Yandex Managed Service for PostgreSQL не исчерпано место в строке space.
-
Укажите нужный объем хранилища в команде изменения кластера (должен быть не меньше, чем значение
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-кластера).
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить настройки сервера PostgreSQL:
-
Посмотрите полный список настроек, установленных для кластера:
$ yc managed-postgresql cluster get <имя кластера> --full
-
Посмотрите описание команды CLI для изменения конфигурации кластера:
$ yc managed-postgresql cluster update-config --help
-
Установите нужные значения параметров.
Все поддерживаемые параметры перечислены в формате запроса для метода 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
.
Изменить дополнительные настройки кластера
-
Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
-
Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.
-
Измените дополнительные настройки кластера:
-
Начало резервного копирования (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
.
Чтобы изменить дополнительные настройки кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-postgresql cluster update --help
-
Выполните команду, передав список настроек, которые хотите изменить:
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
.
Установить режим работы менеджера соединений
Для менеджера соединений можно установить сессионный или транзакционный режим работы. Подробнее см. в разделе Управление соединениями.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить режим работы менеджера соединений:
-
Посмотрите описание команды CLI для изменения кластера:
$ yc managed-postgresql cluster update --help
-
Укажите нужный режим работы с помощью флага
--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:
- Переключить мастер на реплику, для которой явно указан источник потока репликации, нельзя.
- Если явно не указать имя хоста-реплики, мастер переключится на синхронную реплику.
Подробнее см. в разделе Репликация.
Чтобы переключить мастер:
- Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
- Нажмите на имя нужного кластера и выберите вкладку Хосты.
- Нажмите кнопку Переключить мастер.
- Чтобы переключить мастер на синхронную реплику, оставьте опцию Выбрать хост-мастер автоматически включенной.
- Чтобы переключить мастер на другую реплику, выключите опцию Выбрать хост-мастер автоматически и затем выберите нужную реплику из выпадающего списка.
- Нажмите кнопку Переключить.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы переключить мастер, выполните команду:
$ yc managed-postgresql cluster start-failover <имя кластера> --host <имя хоста-реплики>
Имя хоста-реплики можно запросить со списком хостов в кластере, имя кластера — со списком кластеров в каталоге.
Чтобы переключить мастер, воспользуйтесь методом API startFailover и передайте в запросе:
- Идентификатор кластера, в котором нужно переключить мастер, в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя хоста-реплики, на которую нужно переключиться, в параметре
hostName
. Чтобы узнать имя, получите список хостов в кластере.
Изменить группы безопасности
- Перейдите на страницу каталога и выберите сервис 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 <список групп безопасности>
Чтобы изменить список групп безопасности кластера, воспользуйтесь методом API update
и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Список групп в параметре
securityGroupIds
. - Список настроек, которые необходимо изменить, в параметре
updateMask
. Если не задать этот параметр, метод API сбросит на значения по умолчанию все настройки кластера, которые не были явно указаны в запросе.
Важно
Может потребоваться дополнительная настройка групп безопасности для подключения к кластеру.