> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# настройки сеанса external_table_*

> Настройки сеанса ClickHouse в автоматически созданной группе external_table_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Тип</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>По умолчанию</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Изменяется без перезапуска
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Эти настройки доступны в [system.settings](/ru/reference/system-tables/settings) и автоматически генерируются на основе [исходного кода](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

## external\_table\_functions\_use\_nulls

<SettingsInfoBlock type="Bool" default_value="1" />

Определяет, как табличные функции [mysql](/ru/reference/functions/table-functions/mysql), [postgresql](/ru/reference/functions/table-functions/postgresql) и [odbc](/ru/reference/functions/table-functions/odbc) работают со столбцами типа Nullable.

Возможные значения:

* 0 — Табличная функция явно использует столбцы типа Nullable.
* 1 — Табличная функция неявно использует столбцы типа Nullable.

**Использование**

Если для этой настройки установлено значение `0`, табличная функция не создаёт столбцы типа Nullable и вместо NULL вставляет значения по умолчанию. Это также применимо к значениям NULL внутри массивов.

## external\_table\_strict\_query

<SettingsInfoBlock type="Bool" default_value="0" />

Если установлено в true, то фильтр по столбцам внешней таблицы (`MySQL`, `PostgreSQL`, `SQLite`, `ODBC`, `JDBC`), который не может быть перенесён (pushed down) во внешнюю СУБД, отклоняется с исключением, а не применяется локально после получения данных.

Проверка охватывает предикат верхнего уровня в предложении `WHERE` и каждый конъюнкт `AND` верхнего уровня. `PREWHERE` по столбцам внешней таблицы не относится к области действия этой настройки: эти движки таблиц не поддерживают `PREWHERE`, и такой запрос отклоняется с ошибкой `ILLEGAL_PREWHERE` независимо от настройки. Проверка выполняется только там, где фильтр в принципе может быть перенесён вниз: когда внешняя таблица — единственная таблица запроса, с любой стороны `INNER JOIN` или на сохраняющей стороне внешнего JOIN (левая сторона `LEFT JOIN`, правая сторона `RIGHT JOIN`). На несохраняющей стороне `LEFT`/`RIGHT JOIN` и с любой стороны `FULL JOIN` ничего не переносится и ничего не проверяется, поэтому фильтр по столбцам внешней таблицы применяется локально после JOIN даже в строгом режиме. Там, где проверка выполняется, предикат, ссылающийся на другие таблицы, присоединённые в окружающем запросе, не переносится и исключается из проверки — как в случае, когда он ссылается только на присоединённую сторону (например, `WHERE r.flag`), так и когда он смешивает её с внешней таблицей внутри одного выражения без `AND` (например, `WHERE l.id = 1 OR r.flag`); такой предикат сохраняет обычную для ClickHouse точку вычисления (`WHERE` после JOIN, `PREWHERE` до него) и не отклоняется.
