index.md 3.4 KB
Newer Older
1
---
2
toc_folder_title: Settings
3
toc_priority: 55
4
toc_title: Introduction
5 6 7
---

# Настройки {#session-settings-intro}
8 9 10 11

Все настройки, описанные ниже, могут быть заданы несколькими способами.
Настройки задаются послойно, т.е. каждый следующий слой перезаписывает предыдущие настройки.

12
Способы задания настроек, упорядоченные по приоритету:
13

14
-   Настройки в конфигурационном файле сервера `users.xml`.
15

16
    Устанавливаются в элементе `<profiles>`.
17

18
-   Настройки для сессии.
19

20 21
    Из консольного клиента ClickHouse в интерактивном режиме отправьте запрос `SET setting=value`.
    Аналогично можно использовать ClickHouse-сессии в HTTP-протоколе, для этого необходимо указывать HTTP-параметр `session_id`.
22

23
-   Настройки для запроса.
24

25 26
    -   При запуске консольного клиента ClickHouse в не интерактивном режиме установите параметр запуска `--setting=value`.
    -   При использовании HTTP API передавайте cgi-параметры (`URL?setting_1=value&setting_2=value...`).
O
olgarev 已提交
27
    -  Укажите необходимые настройки в секции [SETTINGS](../../sql-reference/statements/select/index.md#settings-in-select) запроса SELECT. Эти настройки действуют только в рамках данного запроса, а после его выполнения сбрасываются до предыдущего значения или значения по умолчанию. 
28 29

Настройки, которые можно задать только в конфигурационном файле сервера, в разделе не рассматриваются.
I
Ivan Blinkov 已提交
30

31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
## Пользовательские настройки {#custom_settings}

В дополнение к общим [настройкам](../../operations/settings/settings.md), пользователи могут определять собственные настройки. 

Название пользовательской настройки должно начинаться с одного из предопределённых префиксов. Список этих префиксов должен быть задан в параметре [custom_settings_prefixes](../../operations/server-configuration-parameters/settings.md#custom_settings_prefixes) конфигурационнного файла сервера.

```xml
<custom_settings_prefixes>custom_</custom_settings_prefixes>
```

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

```sql
SET custom_a = 123;
```

Чтобы получить текущее значение пользовательской настройки, используйте функцию `getSetting()`:

```sql
SELECT getSetting('custom_a');    
```

**См. также**

-   [Конфигурационные параметры сервера](../../operations/server-configuration-parameters/settings.md)