> ## 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.

# ajustes de sesión de external_table_*

> Ajustes de sesión de ClickHouse en el grupo generado 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
  }}>Tipo</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Predeterminado</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modificable sin reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Estas configuraciones están disponibles en [system.settings](/es/reference/system-tables/settings) y se generan automáticamente a partir del [código fuente](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

## external\_table\_functions\_use\_nulls

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

Define cómo las funciones de tabla [mysql](/es/reference/functions/table-functions/mysql), [postgresql](/es/reference/functions/table-functions/postgresql) y [odbc](/es/reference/functions/table-functions/odbc) utilizan columnas Nullable.

Valores posibles:

* 0 — La función de tabla utiliza explícitamente columnas Nullable.
* 1 — La función de tabla utiliza implícitamente columnas Nullable.

**Uso**

Si esta configuración se establece en `0`, la función de tabla no crea columnas Nullable y, en su lugar, inserta valores predeterminados en vez de NULL. Esto también se aplica a los valores NULL dentro de los arrays.

## external\_table\_strict\_query

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

Si se establece en true, un filtro sobre las columnas de una external table (`MySQL`, `PostgreSQL`, `SQLite`, `ODBC`, `JDBC`) del que no se pueda hacer pushdown a la external database se rechaza con una excepción en lugar de aplicarse localmente después de hacer el fetch de los datos.

La comprobación abarca el predicate `WHERE` de nivel superior y cada conjunción de un `AND` de nivel superior. Un `PREWHERE` sobre las columnas de la external table no entra en el ámbito de esta configuración: estos table engines no admiten `PREWHERE`, y una consulta así se rechaza con `ILLEGAL_PREWHERE` independientemente de la configuración. La comprobación solo se ejecuta allí donde realmente sería posible hacer pushdown de un filtro: cuando la external table es la única table de la consulta, en cualquiera de los lados de un `INNER JOIN`, o en el lado conservado de un outer join (el lado izquierdo de un `LEFT JOIN`, el lado derecho de un `RIGHT JOIN`). En el lado no conservado de un `LEFT`/`RIGHT JOIN` y en cualquiera de los lados de un `FULL JOIN` no se hace pushdown de nada ni se comprueba nada, por lo que un filtro sobre las columnas de la external table se aplica localmente después del join incluso en modo estricto. Allí donde sí se ejecuta la comprobación, de un predicate que hace referencia a otras tablas unidas en la consulta circundante no se hace pushdown y queda excluido de la comprobación, tanto si hace referencia únicamente al lado unido (por ejemplo `WHERE r.flag`) como si lo mezcla con la external table dentro de una misma expression que no sea un `AND` (por ejemplo `WHERE l.id = 1 OR r.flag`); dicho predicate mantiene su punto de evaluación habitual en ClickHouse (`WHERE` después del join, `PREWHERE` antes de él) y no se rechaza.
