Перейти к содержимому
Последнее обновление

SET PROPERTY

Описание​

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

Связанные команды

Синтаксис​

SET PROPERTY [ FOR '<user_name>' ] '<key_1>' = '<value_1>' [, '<key_2>' = '<value_2>', ...];

Обязательные параметры​

1. <key_n>

Привилегии суперпользователя:

  • max_user_connections: Максимальное количество подключений.
  • max_query_instances: Количество экземпляров, которые пользователь может одновременно использовать для выполнения запроса.
  • sql_block_rules: Задаёт правила блокировки SQL. После их настройки запросы этого пользователя отклоняются, если соответствуют правилам.
  • cpu_resource_limit: Ограничивает ресурсы CPU для запросов. Подробности см. в описании переменной сеанса cpu_resource_limit. -1 означает, что ограничение не задано.
  • exec_mem_limit: Ограничивает использование памяти запросом. Подробности см. в описании переменной сеанса exec_mem_limit. -1 означает, что ограничение не задано.
  • resource_tags: Задаёт права пользователя на теги ресурсов.
  • query_timeout: Задаёт разрешённое для пользователя время ожидания выполнения запроса.
  • default_workload_group: Задаёт группу рабочей нагрузки пользователя по умолчанию.
  • default_compute_group: Задаёт вычислительную группу пользователя по умолчанию.

Примечание: если атрибуты cpu_resource_limit, exec_mem_limit не заданы, по умолчанию используются значения соответствующих переменных сеанса.

2. <value_n>

Значение, задаваемое для указанного ключа.

Необязательные параметры​

1. <user_name>

Имя пользователя, для которого задаются свойства. Если параметр опущен, свойства задаются для текущего пользователя.

Требования к правам доступа​

Пользователи, выполняющие эту команду SQL, должны иметь как минимум следующие привилегии:

ПривилегияОбъектПримечания
ADMIN_PRIVПользователь или рольЭту операцию SET PROPERTY могут выполнять только пользователи или роли с правами ADMIN_PRIV.

Примечания по использованию​

  • Задаваемые здесь атрибуты относятся к пользователю (user), а не к user_identity. То есть если с помощью оператора CREATE USER созданы два пользователя 'jack'@'%' и 'jack'@'192.%', оператор SET PROPERTY можно применить только к пользователю jack, а не к 'jack'@'% ' или 'jack'@'192.%'

Примеры​

  • Изменить максимальное количество подключений пользователя jack на 1000

    SET PROPERTY FOR 'jack' 'max_user_connections' = '1000';
  • Изменить количество экземпляров, доступных для выполнения запроса пользователя jack, на 3000

    SET PROPERTY FOR 'jack' 'max_query_instances' = '3000';
  • Изменить правило блокировки SQL для пользователя jack

    SET PROPERTY FOR 'jack' 'sql_block_rules' = 'rule1, rule2';
  • Изменить ограничение на использование CPU для пользователя jack

    SET PROPERTY FOR 'jack' 'cpu_resource_limit' = '2';
  • Изменить права пользователя на теги ресурсов

    SET PROPERTY FOR 'jack' 'resource_tags.location' = 'group_a, group_b';
  • Изменить ограничение на использование памяти запросами пользователя, в байтах

    SET PROPERTY FOR 'jack' 'exec_mem_limit' = '2147483648';
  • Изменить время ожидания выполнения запросов пользователя, в секундах

    SET PROPERTY FOR 'jack' 'query_timeout' = '500';