> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuración de tabla MergeTree always_fetch_*

> Configuración de tabla MergeTree de ClickHouse del grupo generado always_fetch_*.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Versión", "Valor predeterminado", "Comentario"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        Historial de versiones
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

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 opciones de configuración están disponibles en [system.merge\_tree\_settings](/docs/es/reference/system-tables/merge_tree_settings) y se generan automáticamente a partir del código fuente de ClickHouse.

<div id="always_fetch_merged_part">
  ## always\_fetch\_merged\_part
</div>

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

Si es true, esta réplica nunca combina partes y siempre descarga partes fusionadas
de otras réplicas.

Valores posibles:

* true, false

<div id="always_fetch_mutated_part">
  ## always\_fetch\_mutated\_part
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "Nueva configuración para que una réplica obtenga partes mutadas en lugar de ejecutar mutaciones localmente"}]}]} />

Si es true, esta réplica nunca ejecuta entradas `MUTATE_PART` del registro de replicación
(mutaciones normales como `ALTER TABLE ... UPDATE/DELETE`) y siempre
descarga las partes mutadas resultantes de otras réplicas.

Al menos una réplica debe tener esta configuración desactivada; de lo contrario, las mutaciones
no podrán finalizar.

Esta configuración no afecta a las partes de parche creadas por actualizaciones ligeras:
se siguen aplicando localmente al fusionarse las partes. Active también
`always_fetch_merged_part` para descargar las fusiones (incluida la
aplicación de partes de parche) en otras réplicas.

Dado que esta réplica no ejecuta mutaciones y el estado de error de una mutación
es local para cada réplica, una espera síncrona en esta réplica
no puede detectar errores de mutación que se produzcan en las réplicas que ejecutan
la mutación. Por lo tanto, las mutaciones síncronas (`mutations_sync` = 1
o 2) y las consultas `ALTER` síncronas que modifican datos
(`alter_sync` = 1 o 2) se rechazan en dicha réplica con un
error `SUPPORT_IS_DISABLED`, en lugar de realizar una espera que quedaría bloqueada si la
mutación falla. Use `mutations_sync` = 0 (`alter_sync` = 0) o ejecute
estas consultas en una réplica que ejecute mutaciones.

Valores posibles:

* true, false
