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

# ajustes de sesión de deduplicate_insert_*

> Ajustes de sesión de ClickHouse del grupo generado deduplicate_insert_*.

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

<div id="deduplicate_insert">
  ## deduplicate\_insert
</div>

<SettingsInfoBlock type="DeduplicateInsertMode" default_value="enable" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "enable"},{"label": "Habilita la deduplicación para todas las inserciones síncronas y asíncronas de forma predeterminada."}]}]} />

Habilita o deshabilita la deduplicación de bloques de `INSERT INTO` (para tablas Replicated\*).
Esta configuración se aplica tanto a las inserciones síncronas como asíncronas, y anula las configuraciones `insert_deduplicate` y `async_insert_deduplicate`.
Esta configuración tiene tres valores posibles:

* disable — La deduplicación está deshabilitada para la consulta `INSERT INTO`.
* enable — La deduplicación está habilitada para la consulta `INSERT INTO`.
* backward\_compatible\_choice — La deduplicación está habilitada si `insert_deduplicate` o `async_insert_deduplicate` están habilitados para el tipo específico de inserción.

Para las consultas `INSERT SELECT`, se consulta primero [`deduplicate_insert_select`](/es/reference/settings/session-settings/deduplicate-insert#deduplicate_insert_select). La deduplicación también requiere que la tabla de destino conserve un registro de deduplicación; consulte [replicated\_deduplication\_window](/es/reference/settings/merge-tree-settings/replicated-deduplication-window#replicated_deduplication_window) y [non\_replicated\_deduplication\_window](/es/reference/settings/merge-tree-settings/other#non_replicated_deduplication_window).

<div id="deduplicate_insert_select">
  ## deduplicate\_insert\_select
</div>

<SettingsInfoBlock type="DeduplicateInsertSelectMode" default_value="enable_when_possible" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "enable_when_possible"},{"label": "cambia el comportamiento predeterminado de deduplicate_insert_select a ENABLE_WHEN_POSSIBLE"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "enable_even_for_bad_queries"},{"label": "Nueva configuración, reemplaza insert_select_deduplicate"}]}]} />

Habilita o deshabilita la deduplicación de bloques de `INSERT SELECT` (para tablas Replicated\*).
Para las consultas `INSERT SELECT`, esta configuración se consulta antes de [`deduplicate_insert`](/es/reference/settings/session-settings/deduplicate-insert#deduplicate_insert).
Un `SELECT` es estable cuando incluye `ORDER BY ALL` y su pipeline termina en un único flujo. Un [`insert_deduplication_token`](/es/reference/settings/session-settings/insert#insert_deduplication_token) no vacío equivale a que el resultado sea estable.
Esta configuración tiene cuatro valores posibles:

* disable — La deduplicación está deshabilitada para la consulta `INSERT SELECT`.
* force\_enable — La deduplicación está habilitada para la consulta `INSERT SELECT`, independientemente de `deduplicate_insert`. Si el resultado de `SELECT` no es estable y no se proporciona ningún token, se lanza una excepción.
* enable\_when\_possible — La deduplicación está habilitada si `deduplicate_insert` la habilita y el resultado de `SELECT` es estable; de lo contrario, se deshabilita.
* enable\_even\_for\_bad\_queries - La deduplicación está habilitada si `deduplicate_insert` la habilita, independientemente de si el resultado de `SELECT` es estable. Si el resultado de `SELECT` no es estable, se registra un mensaje, pero la consulta se ejecuta con deduplicación. Esta opción se incluye por compatibilidad con versiones anteriores. Considere usar otras opciones en su lugar, ya que puede producir resultados inesperados.
