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

# configurações de sessão iceberg_*

> Configurações de sessão do ClickHouse no grupo iceberg_* gerado.

export const ExperimentalBadge = () => {
  return <a href="https://clickhouse.com/docs/reference/settings/beta-and-experimental-features#experimental-features" className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Recurso experimental
        </a>;
};

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Versão", "Valor padrão", "Comentário"];
  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
  }}>
        Histórico de versões
      </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"
  }}>Padrão</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Pode ser alterado sem reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Essas configurações estão disponíveis em [system.settings](/pt-BR/reference/system-tables/settings) e são autogeradas com base no [código-fonte](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

## iceberg\_delete\_data\_on\_drop

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "0"},{"label": "Nova configuração"}]}]} />

Define se todos os arquivos do Iceberg devem ser excluídos ao executar drop.

## iceberg\_file\_entries\_queue\_size

<SettingsInfoBlock type="NonZeroUInt64" default_value="100" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "100"},{"label": "Nova configuração para a capacidade, antes fixa no código, da fila entre as tarefas de decodificação do manifest de dados do Iceberg e a consulta."}]}]} />

Capacidade da fila entre as tarefas de decodificação do manifest de dados do Iceberg e a consulta, em entradas de arquivos de dados.

As tarefas de decodificação são pausadas quando a fila fica cheia e a consulta não está consumindo, o que também limita a leitura antecipada.

Deve ser maior que zero.

## iceberg\_manifest\_decode\_concurrency

**Aliases**: `iceberg_delete_manifest_decode_concurrency`

<SettingsInfoBlock type="NonZeroUInt64" default_value="4" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "4"},{"label": "Nova configuração que limita quantos arquivos de manifesto do Iceberg são decodificados de forma concorrente, tanto para manifests de exclusão quanto de dados. Substitui `iceberg_delete_manifest_decode_concurrency` (mantido como alias). O valor `2` aproxima o data path anterior à 26.9, que decodificava um manifest por vez com o fetch do próximo já in-flight; com `compatibility` igual ou inferior a 26.8, a decodificação de exclusões também roda com 2 em vez do padrão lançado de 4, preservando o envelope de memória do data path antigo ao custo de alguma sobreposição na decodificação de exclusões."}]}]} />

Número máximo de arquivos de manifesto do Iceberg decodificados de forma concorrente durante a leitura de uma table.

Todos os manifests de exclusão são decodificados antes que qualquer arquivo de dados seja lido; os manifests de dados são decodificados enquanto a lista de arquivos de dados da consulta é produzida, e novos só são decodificados à medida que a consulta consome as entries já decodificadas. Decodificar vários manifests ao mesmo tempo sobrepõe os round-trips ao armazenamento de objetos ao trabalho de pruning por entry.

Valores mais altos elevam o pico de memória quando o cache de Iceberg metadata files está desabilitado ou cheio, já que cada manifest in-flight passa a manter seu próprio conteúdo decodificado.

Deve ser maior que zero; `1` decodifica os manifests um de cada vez.

## iceberg\_manifest\_min\_count\_to\_compact

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="100" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "100"},{"label": "Alinhado com o padrão documentado da propriedade de tabela Iceberg `commit.manifest.min-count-to-merge` (100), consulte https:\/\/iceberg.apache.org\/docs\/1.5.2\/configuration\/."}]}, {"id": "row-2","items": [{"label": "26.7"},{"label": "30"},{"label": "Nova configuração para controlar a compactação de manifestos para tabelas Iceberg."}]}]} />

Número mínimo de arquivos de manifesto necessário para acionar a compactação apenas de manifestos via OPTIMIZE TABLE ... MANIFEST.
Se o número atual de arquivos de manifesto for menor ou igual a esse limite, a compactação será ignorada.
Exige que `allow_experimental_iceberg_compaction` esteja habilitado.

O padrão espelha o padrão documentado da propriedade de tabela Iceberg `commit.manifest.min-count-to-merge` (100),
consulte [https://iceberg.apache.org/docs/1.5.2/configuration/](https://iceberg.apache.org/docs/1.5.2/configuration/).

## iceberg\_max\_number\_datafiles\_to\_compact

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1000"},{"label": "Nova configuração"}]}]} />

Limite de arquivos de dados de compactação no Iceberg.

## iceberg\_orphan\_files\_older\_than\_seconds

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="259200" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "259200"},{"label": "Nova configuração para o limite padrão de tempo de arquivos órfãos"}]}]} />

Limite padrão de tempo, em segundos, para a remoção de arquivos órfãos em tabelas Iceberg. Arquivos mais recentes do que esse limite não são considerados órfãos. Usado quando o argumento older\_than é omitido da chamada do procedimento remove\_orphan\_files(). O padrão é 259200 (3 dias).

## iceberg\_snapshot\_id

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "Nova configuração."}]}]} />

Consulte a tabela Iceberg usando o ID do snapshot especificado.

## iceberg\_timestamp\_ms

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "Nova configuração."}]}]} />

Consulte a tabela Iceberg usando o snapshot que estava vigente em um timestamp específico.

## iceberg\_tolerate\_conflicting\_manifest\_schemas

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.10"},{"label": "1"},{"label": "Nova configuração: quando o cabeçalho de um arquivo de manifesto do Iceberg contém um schema que conflita com o schema registrado para o mesmo schema-id no metadata.json, dá-se preferência ao schema do metadata.json e registra-se um aviso no log em vez de falhar a consulta, seguindo o comportamento de outras engines de consulta. `compatibility` abaixo de 26.10 restaura o comportamento estrito anterior."}]}]} />

Se habilitado e a chave `schema` do cabeçalho de um arquivo de manifesto do Iceberg contiver um schema diferente do já registrado para o mesmo schema-id no metadata.json, o schema do metadata.json é utilizado e a cópia presente no cabeçalho do manifest é ignorada, com a emissão de um aviso. Se desabilitado, esse conflito faz a consulta falhar com um erro ICEBERG\_SPECIFICATION\_VIOLATION.

O schema do cabeçalho do manifest é apenas uma cópia do schema da tabela no momento em que o manifest foi gravado, e já se observou que alguns writers (por exemplo, jobs de manutenção do AWS S3 Tables) armazenam cópias degradadas ali. Outras engines de consulta resolvem os schemas a partir do metadata.json e ignoram cópias divergentes no cabeçalho, e o padrão segue essa mesma abordagem. Um conflito entre duas definições de schema do metadata.json continua sempre fazendo a consulta falhar.
