2017-12-28 15:13:23 +00:00
# Settings profiles
A settings profile is a collection of settings grouped under the same name. Each ClickHouse user has a profile.
2018-04-28 11:45:37 +00:00
To apply all the settings in a profile, set `profile` .
Example:
Setting `web` profile.
2017-12-28 15:13:23 +00:00
```sql
SET profile = 'web'
```
Settings profiles are declared in the user config file. This is usually `users.xml` .
2018-04-28 11:45:37 +00:00
2017-12-28 15:13:23 +00:00
Example:
```xml
2018-01-19 14:36:40 +00:00
<!-- Settings profiles -->
2017-12-28 15:13:23 +00:00
< profiles >
2018-04-28 11:45:37 +00:00
<!-- Default settings -->
2017-12-28 15:13:23 +00:00
< default >
2018-04-28 11:53:59 +00:00
<!-- The maximum number of threads when running a single query. -->
< max_threads > 8< / max_threads >
< / default >
<!-- Settings for quries from the user interface -->
2017-12-28 15:13:23 +00:00
< web >
< max_rows_to_read > 1000000000< / max_rows_to_read >
< max_bytes_to_read > 100000000000< / max_bytes_to_read >
< max_rows_to_group_by > 1000000< / max_rows_to_group_by >
< group_by_overflow_mode > any< / group_by_overflow_mode >
< max_rows_to_sort > 1000000< / max_rows_to_sort >
< max_bytes_to_sort > 1000000000< / max_bytes_to_sort >
< max_result_rows > 100000< / max_result_rows >
< max_result_bytes > 100000000< / max_result_bytes >
< result_overflow_mode > break< / result_overflow_mode >
< max_execution_time > 600< / max_execution_time >
< min_execution_speed > 1000000< / min_execution_speed >
< timeout_before_checking_execution_speed > 15< / timeout_before_checking_execution_speed >
< max_columns_to_read > 25< / max_columns_to_read >
< max_temporary_columns > 100< / max_temporary_columns >
< max_temporary_non_const_columns > 50< / max_temporary_non_const_columns >
< max_subquery_depth > 2< / max_subquery_depth >
< max_pipeline_depth > 25< / max_pipeline_depth >
< max_ast_depth > 50< / max_ast_depth >
< max_ast_elements > 100< / max_ast_elements >
< readonly > 1< / readonly >
< / web >
< / profiles >
```
2018-04-28 11:45:37 +00:00
The example specifies two profiles: `default` and `web` . The `default` profile has a special purpose: it must always be present and is applied when starting the server. In other words, the `default` profile contains default settings. The `web` profile is a regular profile that can be set using the `SET` query or using a URL parameter in an HTTP query.
2017-12-28 15:13:23 +00:00
2018-04-28 11:45:37 +00:00
Settings profiles can inherit from each other. To use inheritance, indicate the `profile` setting before the other settings that are listed in the profile.