---
toc_priority: 62
toc_title: "Ограничения на изменение настроек"
---
# Ограничения на изменение настроек {#constraints-on-settings}
Ограничения на изменение настроек могут находиться внутри секции `profiles` файла `user.xml` и запрещают пользователю менять некоторые настройки с помощью запроса `SET`.
Выглядит это следующим образом:
``` xml
<имя_пользователя>
<настройка_1>
нижняя_граница
настройка_1>
<настройка_2>
верхняя_граница
настройка_2>
<настройка_3>
нижняя_граница
верхняя_граница
настройка_3>
<настройка_4>
настройка_4>
имя_пользователя>
```
Если пользователь пытается выйти за пределы, установленные этими ограничениями, то кидается исключение и настройка сохраняет прежнее значение.
Поддерживаются три типа ограничений: `min`, `max` и `readonly`. Ограничения `min` и `max` указывают нижнюю и верхнюю границы для числовых настроек и могут использоваться вместе.
Ограничение `readonly` указывает, что пользователь не может менять настройку.
**Пример:** Пусть файл `users.xml` содержит строки:
``` xml
10000000000
0
...
5000000000
20000000000
```
Каждый из следующих запросов кинет исключение:
``` sql
SET max_memory_usage=20000000001;
SET max_memory_usage=4999999999;
SET force_index_by_date=1;
```
``` text
Code: 452, e.displayText() = DB::Exception: Setting max_memory_usage should not be greater than 20000000000.
Code: 452, e.displayText() = DB::Exception: Setting max_memory_usage should not be less than 5000000000.
Code: 452, e.displayText() = DB::Exception: Setting force_index_by_date should not be changed.
```
**Примечание:** профиль с именем `default` обрабатывается специальным образом: все ограничения на изменение настроек из этого профиля становятся дефолтными и влияют на всех пользователей, кроме тех, где эти ограничения явно переопределены.