---
slug: /en/operations/server-configuration-parameters/settings
sidebar_position: 57
sidebar_label: Server Settings
description: This section contains descriptions of server settings that cannot be changed at the session or query level.
---
# Server Settings
## builtin_dictionaries_reload_interval {#builtin-dictionaries-reload-interval}
The interval in seconds before reloading built-in dictionaries.
ClickHouse reloads built-in dictionaries every x seconds. This makes it possible to edit dictionaries “on the fly” without restarting the server.
Default value: 3600.
**Example**
``` xml
3600
```
## compression {#server-settings-compression}
Data compression settings for [MergeTree](../../engines/table-engines/mergetree-family/mergetree.md)-engine tables.
:::note
Don’t use it if you have just started using ClickHouse.
:::
Configuration template:
``` xml
...
...
...
...
...
```
`` fields:
- `min_part_size` – The minimum size of a data part.
- `min_part_size_ratio` – The ratio of the data part size to the table size.
- `method` – Compression method. Acceptable values: `lz4`, `lz4hc`, `zstd`,`deflate_qpl`.
- `level` – Compression level. See [Codecs](../../sql-reference/statements/create/table.md#create-query-general-purpose-codecs).
You can configure multiple `` sections.
Actions when conditions are met:
- If a data part matches a condition set, ClickHouse uses the specified compression method.
- If a data part matches multiple condition sets, ClickHouse uses the first matched condition set.
If no conditions met for a data part, ClickHouse uses the `lz4` compression.
**Example**
``` xml
10000000000
0.01
zstd
1
```
## encryption {#server-settings-encryption}
Configures a command to obtain a key to be used by [encryption codecs](../../sql-reference/statements/create/table.md#create-query-encryption-codecs). Key (or keys) should be written in environment variables or set in the configuration file.
Keys can be hex or string with a length equal to 16 bytes.
**Example**
Loading from config:
```xml
1234567812345678
```
:::note
Storing keys in the configuration file is not recommended. It isn't secure. You can move the keys into a separate config file on a secure disk and put a symlink to that config file to `config.d/` folder.
:::
Loading from config, when the key is in hex:
```xml
00112233445566778899aabbccddeeff
```
Loading key from the environment variable:
```xml
```
Here `current_key_id` sets the current key for encryption, and all specified keys can be used for decryption.
Each of these methods can be applied for multiple keys:
```xml
00112233445566778899aabbccddeeff
1
```
Here `current_key_id` shows current key for encryption.
Also, users can add nonce that must be 12 bytes long (by default encryption and decryption processes use nonce that consists of zero bytes):
```xml
012345678910
```
Or it can be set in hex:
```xml
abcdefabcdef
```
Everything mentioned above can be applied for `aes_256_gcm_siv` (but the key must be 32 bytes long).
## custom_settings_prefixes {#custom_settings_prefixes}
List of prefixes for [custom settings](../../operations/settings/index.md#custom_settings). The prefixes must be separated with commas.
**Example**
```xml
custom_
```
**See Also**
- [Custom settings](../../operations/settings/index.md#custom_settings)
## core_dump {#server_configuration_parameters-core_dump}
Configures soft limit for core dump file size.
Possible values:
- Positive integer.
Default value: `1073741824` (1 GB).
:::note
Hard limit is configured via system tools
:::
**Example**
```xml
1073741824
```
## database_atomic_delay_before_drop_table_sec {#database_atomic_delay_before_drop_table_sec}
Sets the delay before remove table data in seconds. If the query has `SYNC` modifier, this setting is ignored.
Default value: `480` (8 minute).
## database_catalog_unused_dir_hide_timeout_sec {#database_catalog_unused_dir_hide_timeout_sec}
Parameter of a task that cleans up garbage from `store/` directory.
If some subdirectory is not used by clickhouse-server and this directory was not modified for last
`database_catalog_unused_dir_hide_timeout_sec` seconds, the task will "hide" this directory by
removing all access rights. It also works for directories that clickhouse-server does not
expect to see inside `store/`. Zero means "immediately".
Default value: `3600` (1 hour).
## database_catalog_unused_dir_rm_timeout_sec {#database_catalog_unused_dir_rm_timeout_sec}
Parameter of a task that cleans up garbage from `store/` directory.
If some subdirectory is not used by clickhouse-server and it was previousely "hidden"
(see [database_catalog_unused_dir_hide_timeout_sec](../../operations/server-configuration-parameters/settings.md#database_catalog_unused_dir_hide_timeout_sec))
and this directory was not modified for last
`database_catalog_unused_dir_rm_timeout_sec` seconds, the task will remove this directory.
It also works for directories that clickhouse-server does not
expect to see inside `store/`. Zero means "never".
Default value: `2592000` (30 days).
## database_catalog_unused_dir_cleanup_period_sec {#database_catalog_unused_dir_cleanup_period_sec}
Parameter of a task that cleans up garbage from `store/` directory.
Sets scheduling period of the task. Zero means "never".
Default value: `86400` (1 day).
## default_database {#default-database}
The default database.
To get a list of databases, use the [SHOW DATABASES](../../sql-reference/statements/show.md#show-databases) query.
**Example**
``` xml
default
```
## default_profile {#default-profile}
Default settings profile.
Settings profiles are located in the file specified in the parameter `user_config`.
**Example**
``` xml
default
```
## default_replica_path {#default_replica_path}
The path to the table in ZooKeeper.
**Example**
``` xml
/clickhouse/tables/{uuid}/{shard}
```
## default_replica_name {#default_replica_name}
The replica name in ZooKeeper.
**Example**
``` xml
{replica}
```
## dictionaries_config {#server_configuration_parameters-dictionaries_config}
The path to the config file for dictionaries.
Path:
- Specify the absolute path or the path relative to the server config file.
- The path can contain wildcards \* and ?.
See also “[Dictionaries](../../sql-reference/dictionaries/index.md)”.
**Example**
``` xml
*_dictionary.xml
```
## user_defined_executable_functions_config {#server_configuration_parameters-user_defined_executable_functions_config}
The path to the config file for executable user defined functions.
Path:
- Specify the absolute path or the path relative to the server config file.
- The path can contain wildcards \* and ?.
See also “[Executable User Defined Functions](../../sql-reference/functions/index.md#executable-user-defined-functions).”.
**Example**
``` xml
*_function.xml
```
## dictionaries_lazy_load {#server_configuration_parameters-dictionaries_lazy_load}
Lazy loading of dictionaries.
If `true`, then each dictionary is created on first use. If dictionary creation failed, the function that was using the dictionary throws an exception.
If `false`, all dictionaries are created when the server starts, if the dictionary or dictionaries are created too long or are created with errors, then the server boots without of these dictionaries and continues to try to create these dictionaries.
The default is `true`.
**Example**
``` xml
true
```
## format_schema_path {#server_configuration_parameters-format_schema_path}
The path to the directory with the schemes for the input data, such as schemas for the [CapnProto](../../interfaces/formats.md#capnproto) format.
**Example**
``` xml
format_schemas/
```
## graphite {#server_configuration_parameters-graphite}
Sending data to [Graphite](https://github.com/graphite-project).
Settings:
- host – The Graphite server.
- port – The port on the Graphite server.
- interval – The interval for sending, in seconds.
- timeout – The timeout for sending data, in seconds.
- root_path – Prefix for keys.
- metrics – Sending data from the [system.metrics](../../operations/system-tables/metrics.md#system_tables-metrics) table.
- events – Sending deltas data accumulated for the time period from the [system.events](../../operations/system-tables/events.md#system_tables-events) table.
- events_cumulative – Sending cumulative data from the [system.events](../../operations/system-tables/events.md#system_tables-events) table.
- asynchronous_metrics – Sending data from the [system.asynchronous_metrics](../../operations/system-tables/asynchronous_metrics.md#system_tables-asynchronous_metrics) table.
You can configure multiple `` clauses. For instance, you can use this for sending different data at different intervals.
**Example**
``` xml
localhost
42000
0.1
60
one_min
true
true
false
true
```
## graphite_rollup {#server_configuration_parameters-graphite-rollup}
Settings for thinning data for Graphite.
For more details, see [GraphiteMergeTree](../../engines/table-engines/mergetree-family/graphitemergetree.md).
**Example**
``` xml
max
0
60
3600
300
86400
3600
```
## http_port/https_port {#http-porthttps-port}
The port for connecting to the server over HTTP(s).
If `https_port` is specified, [openSSL](#server_configuration_parameters-openssl) must be configured.
If `http_port` is specified, the OpenSSL configuration is ignored even if it is set.
**Example**
``` xml
9999
```
## http_server_default_response {#server_configuration_parameters-http_server_default_response}
The page that is shown by default when you access the ClickHouse HTTP(s) server.
The default value is “Ok.” (with a line feed at the end)
**Example**
Opens `https://tabix.io/` when accessing `http://localhost: http_port`.
``` xml