diff --git a/docs/_description_templates/template-system-table.md b/docs/_description_templates/template-system-table.md
index 9c05bf4cc5d..137766a34b6 100644
--- a/docs/_description_templates/template-system-table.md
+++ b/docs/_description_templates/template-system-table.md
@@ -1,10 +1,10 @@
-## system.table\_name {#system-tables_table-name}
+## system.table_name {#system-tables_table-name}
Description.
Columns:
-- `column_name` ([data\_type\_name](path/to/data_type.md)) — Description.
+- `column_name` ([data_type_name](path/to/data_type.md)) — Description.
**Example**
diff --git a/docs/en/development/build-osx.md b/docs/en/development/build-osx.md
index 281f961fc2d..02da3ba1390 100644
--- a/docs/en/development/build-osx.md
+++ b/docs/en/development/build-osx.md
@@ -5,7 +5,7 @@ toc_title: How to Build ClickHouse on Mac OS X
# How to Build ClickHouse on Mac OS X {#how-to-build-clickhouse-on-mac-os-x}
-Build should work on Mac OS X 10.15 (Catalina)
+Build should work on Mac OS X 10.15 (Catalina).
## Install Homebrew {#install-homebrew}
diff --git a/docs/en/getting-started/install.md b/docs/en/getting-started/install.md
index 8f8c09f6632..e917b8ef58c 100644
--- a/docs/en/getting-started/install.md
+++ b/docs/en/getting-started/install.md
@@ -50,7 +50,7 @@ sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64
```
-If you want to use the most recent version, replace `stable` with `testing` (this is recommended for your testing environments). The `prestable` tag is sometimes available too.
+If you want to use the most recent version, replace `stable` with `testing` (this is recommended for your testing environments). `prestable` is sometimes also available.
Then run these commands to install packages:
diff --git a/docs/en/operations/server-configuration-parameters/settings.md b/docs/en/operations/server-configuration-parameters/settings.md
index 41ee085d8d3..93acf3cae7a 100644
--- a/docs/en/operations/server-configuration-parameters/settings.md
+++ b/docs/en/operations/server-configuration-parameters/settings.md
@@ -733,7 +733,7 @@ Example
9004
```
-## tmp\_path {#server-settings-tmp_path}
+## tmp_path {#tmp-path}
Path to temporary data for processing large queries.
@@ -746,16 +746,17 @@ Path to temporary data for processing large queries.
/var/lib/clickhouse/tmp/
```
-## tmp\_policy {#server-settings-tmp-policy}
+## tmp_policy {#tmp-policy}
-Policy from [`storage_configuration`](../../engines/table-engines/mergetree-family/mergetree.md#table_engine-mergetree-multiple-volumes) to store temporary files.
-If not set [`tmp_path`](#server-settings-tmp_path) is used, otherwise it is ignored.
+Policy from [storage_configuration](../../engines/table-engines/mergetree-family/mergetree.md#table_engine-mergetree-multiple-volumes) to store temporary files.
+
+If not set, [tmp_path](#tmp-path) is used, otherwise it is ignored.
!!! note "Note"
- - `move_factor` is ignored
-- `keep_free_space_bytes` is ignored
-- `max_data_part_size_bytes` is ignored
-- you must have exactly one volume in that policy
+ - `move_factor` is ignored.
+ - `keep_free_space_bytes` is ignored.
+ - `max_data_part_size_bytes` is ignored.
+ - Уou must have exactly one volume in that policy.
## uncompressed\_cache\_size {#server-settings-uncompressed_cache_size}
diff --git a/docs/en/operations/settings/settings.md b/docs/en/operations/settings/settings.md
index 5adba7cfa07..e6e692315f0 100644
--- a/docs/en/operations/settings/settings.md
+++ b/docs/en/operations/settings/settings.md
@@ -1026,27 +1026,32 @@ Possible values:
Default value: 0.
-## optimize\_skip\_unused\_shards {#settings-optimize_skip_unused_shards}
+## optimize_skip_unused_shards {#optimize-skip-unused-shards}
-Enables or disables skipping of unused shards for SELECT queries that have sharding key condition in PREWHERE/WHERE (assumes that the data is distributed by sharding key, otherwise do nothing).
-
-Default value: 0
-
-## force\_optimize\_skip\_unused\_shards {#settings-force_optimize_skip_unused_shards}
-
-Enables or disables query execution if [`optimize_skip_unused_shards`](#settings-optimize_skip_unused_shards) enabled and skipping of unused shards is not possible. If the skipping is not possible and the setting is enabled exception will be thrown.
+Enables or disables skipping of unused shards for [SELECT](../../sql-reference/statements/select/index.md) queries that have sharding key condition in `WHERE/PREWHERE` (assuming that the data is distributed by sharding key, otherwise does nothing).
Possible values:
-- 0 - Disabled (do not throws)
-- 1 - Disable query execution only if the table has sharding key
-- 2 - Disable query execution regardless sharding key is defined for the table
+- 0 — Disabled.
+- 1 — Enabled.
+
+Default value: 0
+
+## force_optimize_skip_unused_shards {#force-optimize-skip-unused-shards}
+
+Enables or disables query execution if [optimize_skip_unused_shards](#optimize-skip-unused-shards) is enabled and skipping of unused shards is not possible. If the skipping is not possible and the setting is enabled, an exception will be thrown.
+
+Possible values:
+
+- 0 — Disabled. ClickHouse doesn't throw an exception.
+- 1 — Enabled. Query execution is disabled only if the table has a sharding key.
+- 2 — Enabled. Query execution is disabled regardless of whether a sharding key is defined for the table.
Default value: 0
## force\_optimize\_skip\_unused\_shards\_no\_nested {#settings-force_optimize_skip_unused_shards_no_nested}
-Reset [`optimize_skip_unused_shards`](#settings-force_optimize_skip_unused_shards) for nested `Distributed` table
+Reset [`optimize_skip_unused_shards`](#optimize-skip-unused-shards) for nested `Distributed` table
Possible values:
diff --git a/docs/en/operations/system-tables.md b/docs/en/operations/system-tables.md
index e36101c61c5..a186e4f2cda 100644
--- a/docs/en/operations/system-tables.md
+++ b/docs/en/operations/system-tables.md
@@ -536,26 +536,26 @@ Contains logging entries. Logging level which goes to this table can be limited
Columns:
-- `event_date` (`Date`) - Date of the entry.
-- `event_time` (`DateTime`) - Time of the entry.
-- `microseconds` (`UInt32`) - Microseconds of the entry.
+- `event_date` (Date) — Date of the entry.
+- `event_time` (DateTime) — Time of the entry.
+- `microseconds` (UInt32) — Microseconds of the entry.
- `thread_name` (String) — Name of the thread from which the logging was done.
- `thread_id` (UInt64) — OS thread ID.
-- `level` (`Enum8`) - Entry level.
- - `'Fatal' = 1`
- - `'Critical' = 2`
- - `'Error' = 3`
- - `'Warning' = 4`
- - `'Notice' = 5`
- - `'Information' = 6`
- - `'Debug' = 7`
- - `'Trace' = 8`
-- `query_id` (`String`) - ID of the query.
-- `logger_name` (`LowCardinality(String)`) - Name of the logger (i.e. `DDLWorker`)
-- `message` (`String`) - The message itself.
-- `revision` (`UInt32`) - ClickHouse revision.
-- `source_file` (`LowCardinality(String)`) - Source file from which the logging was done.
-- `source_line` (`UInt64`) - Source line from which the logging was done.
+- `level` (`Enum8`) — Entry level. Possible values:
+ - `1` or `'Fatal'`.
+ - `2` or `'Critical'`.
+ - `3` or `'Error'`.
+ - `4` or `'Warning'`.
+ - `5` or `'Notice'`.
+ - `6` or `'Information'`.
+ - `7` or `'Debug'`.
+ - `8` or `'Trace'`.
+- `query_id` (String) — ID of the query.
+- `logger_name` (LowCardinality(String)) — Name of the logger (i.e. `DDLWorker`).
+- `message` (String) — The message itself.
+- `revision` (UInt32) — ClickHouse revision.
+- `source_file` (LowCardinality(String)) — Source file from which the logging was done.
+- `source_line` (UInt64) — Source line from which the logging was done.
## system.query\_log {#system_tables-query_log}
diff --git a/docs/en/sql-reference/functions/arithmetic-functions.md b/docs/en/sql-reference/functions/arithmetic-functions.md
index a36a4a4b017..5d89d6d335b 100644
--- a/docs/en/sql-reference/functions/arithmetic-functions.md
+++ b/docs/en/sql-reference/functions/arithmetic-functions.md
@@ -53,16 +53,16 @@ An exception is thrown when dividing by zero or when dividing a minimal negative
Differs from ‘intDiv’ in that it returns zero when dividing by zero or when dividing a minimal negative number by minus one.
-## modulo(a, b), a % b operator {#moduloa-b-a-b-operator}
+## modulo(a, b), a % b operator {#modulo}
Calculates the remainder after division.
If arguments are floating-point numbers, they are pre-converted to integers by dropping the decimal portion.
The remainder is taken in the same sense as in C++. Truncated division is used for negative numbers.
An exception is thrown when dividing by zero or when dividing a minimal negative number by minus one.
-## moduloOrZero(a, b) {#moduloorzeroa-b}
+## moduloOrZero(a, b) {#modulo-or-zero}
-Differs from ‘modulo’ in that it returns zero when the divisor is zero.
+Differs from [modulo](#modulo) in that it returns zero when the divisor is zero.
## negate(a), -a operator {#negatea-a-operator}
diff --git a/docs/en/sql-reference/statements/alter.md b/docs/en/sql-reference/statements/alter.md
index 6b1adcdb033..44485555bda 100644
--- a/docs/en/sql-reference/statements/alter.md
+++ b/docs/en/sql-reference/statements/alter.md
@@ -201,17 +201,17 @@ All changes on replicated tables are broadcasting to ZooKeeper so will be applie
The following operations with [partitions](../../engines/table-engines/mergetree-family/custom-partitioning-key.md) are available:
-- [DETACH PARTITION](#alter_detach-partition) – Moves a partition to the `detached` directory and forget it.
-- [DROP PARTITION](#alter_drop-partition) – Deletes a partition.
-- [ATTACH PART\|PARTITION](#alter_attach-partition) – Adds a part or partition from the `detached` directory to the table.
-- [ATTACH PARTITION FROM](#alter_attach-partition-from) – Copies the data partition from one table to another and adds.
-- [REPLACE PARTITION](#alter_replace-partition) - Copies the data partition from one table to another and replaces.
-- [MOVE PARTITION TO TABLE](#alter_move_to_table-partition)(#alter_move_to_table-partition) - Move the data partition from one table to another.
-- [CLEAR COLUMN IN PARTITION](#alter_clear-column-partition) - Resets the value of a specified column in a partition.
-- [CLEAR INDEX IN PARTITION](#alter_clear-index-partition) - Resets the specified secondary index in a partition.
-- [FREEZE PARTITION](#alter_freeze-partition) – Creates a backup of a partition.
-- [FETCH PARTITION](#alter_fetch-partition) – Downloads a partition from another server.
-- [MOVE PARTITION\|PART](#alter_move-partition) – Move partition/data part to another disk or volume.
+- [DETACH PARTITION](#alter_detach-partition) — Moves a partition to the `detached` directory and forget it.
+- [DROP PARTITION](#alter_drop-partition) — Deletes a partition.
+- [ATTACH PART\|PARTITION](#alter_attach-partition) — Adds a part or partition from the `detached` directory to the table.
+- [ATTACH PARTITION FROM](#alter_attach-partition-from) — Copies the data partition from one table to another and adds.
+- [REPLACE PARTITION](#alter_replace-partition) — Copies the data partition from one table to another and replaces.
+- [MOVE PARTITION TO TABLE](#alter_move_to_table-partition) — Moves the data partition from one table to another.
+- [CLEAR COLUMN IN PARTITION](#alter_clear-column-partition) — Resets the value of a specified column in a partition.
+- [CLEAR INDEX IN PARTITION](#alter_clear-index-partition) — Resets the specified secondary index in a partition.
+- [FREEZE PARTITION](#alter_freeze-partition) — Creates a backup of a partition.
+- [FETCH PARTITION](#alter_fetch-partition) — Downloads a partition from another server.
+- [MOVE PARTITION\|PART](#alter_move-partition) — Move partition/data part to another disk or volume.
@@ -307,13 +307,13 @@ For the query to run successfully, the following conditions must be met:
ALTER TABLE table_source MOVE PARTITION partition_expr TO TABLE table_dest
```
-This query move the data partition from the `table_source` to `table_dest` with deleting the data from `table_source`.
+This query moves the data partition from the `table_source` to `table_dest` with deleting the data from `table_source`.
For the query to run successfully, the following conditions must be met:
- Both tables must have the same structure.
- Both tables must have the same partition key.
-- Both tables must be the same engine family. (replicated or non-replicated)
+- Both tables must be the same engine family (replicated or non-replicated).
- Both tables must have the same storage policy.
#### CLEAR COLUMN IN PARTITION {#alter_clear-column-partition}
diff --git a/docs/ru/getting-started/install.md b/docs/ru/getting-started/install.md
index fb36b9c87ec..04712328844 100644
--- a/docs/ru/getting-started/install.md
+++ b/docs/ru/getting-started/install.md
@@ -38,7 +38,7 @@ sudo rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64
```
-Для использования наиболее свежих версий нужно заменить `stable` на `testing` (рекомендуется для тестовых окружений).
+Для использования наиболее свежих версий нужно заменить `stable` на `testing` (рекомендуется для тестовых окружений). Также иногда доступен `prestable`.
Для, собственно, установки пакетов необходимо выполнить следующие команды:
diff --git a/docs/ru/operations/server-configuration-parameters/settings.md b/docs/ru/operations/server-configuration-parameters/settings.md
index f86fc1baa75..c664580c659 100644
--- a/docs/ru/operations/server-configuration-parameters/settings.md
+++ b/docs/ru/operations/server-configuration-parameters/settings.md
@@ -686,7 +686,7 @@ TCP порт для защищённого обмена данными с кли
9004
```
-## tmp\_path {#tmp-path}
+## tmp_path {#tmp-path}
Путь ко временным данным для обработки больших запросов.
@@ -698,6 +698,17 @@ TCP порт для защищённого обмена данными с кли
``` xml
/var/lib/clickhouse/tmp/
```
+## tmp_policy {#tmp-policy}
+
+Политика из [storage_configuration](../../engines/table-engines/mergetree-family/mergetree.md#table_engine-mergetree-multiple-volumes) для хранения временных файлов.
+
+Если политика не задана, используется [tmp_path](#tmp-path). В противном случае `tmp_path` игнорируется.
+
+!!! note "Примечание"
+ - `move_factor` игнорируется.
+ - `keep_free_space_bytes` игнорируется.
+ - `max_data_part_size_bytes` игнорируется.
+ - В данной политике у вас должен быть ровно один том.
## uncompressed\_cache\_size {#server-settings-uncompressed_cache_size}
diff --git a/docs/ru/operations/settings/settings.md b/docs/ru/operations/settings/settings.md
index 16d840fe4b1..56c3042bfa3 100644
--- a/docs/ru/operations/settings/settings.md
+++ b/docs/ru/operations/settings/settings.md
@@ -1025,6 +1025,29 @@ ClickHouse генерирует исключение
Значение по умолчанию: 0.
+## optimize_skip_unused_shards {#optimize-skip-unused-shards}
+
+Включает или отключает пропуск неиспользуемых шардов для запросов [SELECT](../../sql-reference/statements/select/index.md) , в которых условие ключа шардирования задано в секции `WHERE/PREWHERE`. Предполагается, что данные распределены с помощью ключа шардирования, в противном случае настройка ничего не делает.
+
+Возможные значения:
+
+- 0 — Выключена.
+- 1 — Включена.
+
+Значение по умолчанию: 0
+
+## force_optimize_skip_unused_shards {#force-optimize-skip-unused-shards}
+
+Разрешает или запрещает выполнение запроса, если настройка [optimize_skip_unused_shards](#optimize-skip-unused-shards) включена, а пропуск неиспользуемых шардов невозможен. Если данная настройка включена и пропуск невозможен, ClickHouse генерирует исключение.
+
+Возможные значения:
+
+- 0 — Выключена. ClickHouse не генерирует исключение.
+- 1 — Включена. Выполнение запроса запрещается, только если у таблицы есть ключ шардирования.
+- 2 — Включена. Выполнение запроса запрещается, даже если для таблицы не определен ключ шардирования.
+
+Значение по умолчанию: 0
+
## optimize\_throw\_if\_noop {#setting-optimize_throw_if_noop}
Включает или отключает генерирование исключения в в случаях, когда запрос [OPTIMIZE](../../sql-reference/statements/misc.md#misc_operations-optimize) не выполняет мёрж.
diff --git a/docs/ru/operations/system-tables.md b/docs/ru/operations/system-tables.md
index bc4a4c2751f..ae0e67a4515 100644
--- a/docs/ru/operations/system-tables.md
+++ b/docs/ru/operations/system-tables.md
@@ -517,6 +517,33 @@ CurrentMetric_ReplicatedChecks: 0
- `query` (String) – текст запроса. Для запросов `INSERT` не содержит встаявляемые данные.
- `query_id` (String) – идентификатор запроса, если был задан.
+## system.text\_log {#system-tables-text-log}
+
+Содержит записи логов. Уровень логирования для таблицы может быть ограничен параметром сервера `text_log.level`.
+
+Столбцы:
+
+- `event_date` (Date) — Дата создания записи.
+- `event_time` (DateTime) — Время создания записи.
+- `microseconds` (UInt32) — Время создания записи в микросекундах.
+- `thread_name` (String) — Название потока, из которого была сделана запись.
+- `thread_id` (UInt64) — Идентификатор потока ОС.
+- `level` (Enum8) — Уровень логирования записи. Возможные значения:
+ - `1` или `'Fatal'`.
+ - `2` или `'Critical'`.
+ - `3` или `'Error'`.
+ - `4` или `'Warning'`.
+ - `5` или `'Notice'`.
+ - `6` или `'Information'`.
+ - `7` или `'Debug'`.
+ - `8` или `'Trace'`.
+- `query_id` (String) — Идентификатор запроса.
+- `logger_name` (LowCardinality(String)) — Название логгера (`DDLWorker`).
+- `message` (String) — Само тело записи.
+- `revision` (UInt32) — Ревизия ClickHouse.
+- `source_file` (LowCardinality(String)) — Исходный файл, из которого была сделана запись.
+- `source_line` (UInt64) — Исходная строка, из которой была сделана запись.
+
## system.query\_log {#system_tables-query_log}
Содержит информацию о выполнении запросов. Для каждого запроса вы можете увидеть время начала обработки, продолжительность обработки, сообщения об ошибках и другую информацию.
diff --git a/docs/ru/sql-reference/functions/arithmetic-functions.md b/docs/ru/sql-reference/functions/arithmetic-functions.md
index 85c597143fd..8513737f025 100644
--- a/docs/ru/sql-reference/functions/arithmetic-functions.md
+++ b/docs/ru/sql-reference/functions/arithmetic-functions.md
@@ -48,13 +48,17 @@ SELECT toTypeName(0), toTypeName(0 + 0), toTypeName(0 + 0 + 0), toTypeName(0 + 0
Отличается от intDiv тем, что при делении на ноль или при делении минимального отрицательного числа на минус единицу, возвращается ноль.
-## modulo(a, b), оператор a % b {#moduloa-b-operator-a-b}
+## modulo(a, b), оператор a % b {#modulo}
Вычисляет остаток от деления.
Если аргументы - числа с плавающей запятой, то они предварительно преобразуются в целые числа, путём отбрасывания дробной части.
Берётся остаток в том же смысле, как это делается в C++. По факту, для отрицательных чисел, используется truncated division.
При делении на ноль или при делении минимального отрицательного числа на минус единицу, кидается исключение.
+## moduloOrZero(a, b) {#modulo-or-zero}
+
+В отличие от [modulo](#modulo), возвращает ноль при делении на ноль.
+
## negate(a), оператор -a {#negatea-operator-a}
Вычисляет число, обратное по знаку. Результат всегда имеет знаковый тип.
diff --git a/docs/ru/sql-reference/statements/alter.md b/docs/ru/sql-reference/statements/alter.md
index c4afb6981c4..1cf061c174f 100644
--- a/docs/ru/sql-reference/statements/alter.md
+++ b/docs/ru/sql-reference/statements/alter.md
@@ -204,17 +204,17 @@ ALTER TABLE [db].name DROP CONSTRAINT constraint_name;
Для работы с [партициями](../../sql-reference/statements/alter.md) доступны следующие операции:
-- [DETACH PARTITION](#alter_detach-partition) – перенести партицию в директорию `detached`;
-- [DROP PARTITION](#alter_drop-partition) – удалить партицию;
-- [ATTACH PARTITION\|PART](#alter_attach-partition) – добавить партицию/кусок в таблицу из директории `detached`;
-- [ATTACH PARTITION FROM](#alter_attach-partition-from) – скопировать партицию из другой таблицы;
-- [REPLACE PARTITION](#alter_replace-partition) – скопировать партицию из другой таблицы с заменой;
-- [MOVE PARTITION TO TABLE](#alter_move_to_table-partition) (\#alter\_move\_to\_table-partition) - переместить партицию в другую таблицу;
-- [CLEAR COLUMN IN PARTITION](#alter_clear-column-partition) – удалить все значения в столбце для заданной партиции;
-- [CLEAR INDEX IN PARTITION](#alter_clear-index-partition) - очистить построенные вторичные индексы для заданной партиции;
-- [FREEZE PARTITION](#alter_freeze-partition) – создать резервную копию партиции;
-- [FETCH PARTITION](#alter_fetch-partition) – скачать партицию с другого сервера;
-- [MOVE PARTITION\|PART](#alter_move-partition) – переместить партицию/кускок на другой диск или том.
+- [DETACH PARTITION](#alter_detach-partition) — перенести партицию в директорию `detached`;
+- [DROP PARTITION](#alter_drop-partition) — удалить партицию;
+- [ATTACH PARTITION\|PART](#alter_attach-partition) — добавить партицию/кусок в таблицу из директории `detached`;
+- [ATTACH PARTITION FROM](#alter_attach-partition-from) — скопировать партицию из другой таблицы;
+- [REPLACE PARTITION](#alter_replace-partition) — скопировать партицию из другой таблицы с заменой;
+- [MOVE PARTITION TO TABLE](#alter_move_to_table-partition) — переместить партицию в другую таблицу;
+- [CLEAR COLUMN IN PARTITION](#alter_clear-column-partition) — удалить все значения в столбце для заданной партиции;
+- [CLEAR INDEX IN PARTITION](#alter_clear-index-partition) — очистить построенные вторичные индексы для заданной партиции;
+- [FREEZE PARTITION](#alter_freeze-partition) — создать резервную копию партиции;
+- [FETCH PARTITION](#alter_fetch-partition) — скачать партицию с другого сервера;
+- [MOVE PARTITION\|PART](#alter_move-partition) — переместить партицию/кускок на другой диск или том.
#### DETACH PARTITION {#alter_detach-partition}
@@ -312,12 +312,14 @@ ALTER TABLE table2 REPLACE PARTITION partition_expr FROM table1
ALTER TABLE table_source MOVE PARTITION partition_expr TO TABLE table_dest
```
-Перемещает партицию из таблицы `table_source` в таблицу `table_dest` (добавляет к существующим данным в `table_dest`), с удалением данных из таблицы `table_source`.
+Перемещает партицию из таблицы `table_source` в таблицу `table_dest` (добавляет к существующим данным в `table_dest`) с удалением данных из таблицы `table_source`.
Следует иметь в виду:
- Таблицы должны иметь одинаковую структуру.
- Для таблиц должен быть задан одинаковый ключ партиционирования.
+- Движки таблиц должны быть одинакового семейства (реплицированные или нереплицированные).
+- Для таблиц должна быть задана одинаковая политика хранения.
#### CLEAR COLUMN IN PARTITION {#alter_clear-column-partition}