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

# configurações table_* de tabelas MergeTree

> Configurações de tabelas MergeTree do ClickHouse no grupo gerado table_*.

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.merge\_tree\_settings](/pt-BR/reference/system-tables/merge_tree_settings) e são geradas automaticamente a partir do código-fonte do ClickHouse.

<div id="table_disk">
  ## table\_disk
</div>

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

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

Este é um disco de tabela: o caminho/endpoint aponta para os dados da tabela, não para os dados do banco de dados.
Compatível com discos de armazenamento de objetos cujos metadados ficam no próprio armazenamento de objetos
(s3\_plain, s3\_plain\_rewritable, web, web\_index) e suas variantes em cache. As variantes
criptografadas são compatíveis apenas com os discos s3\_plain / s3\_plain\_rewritable graváveis, não
com os discos web / web\_index somente leitura.

<div id="table_readonly">
  ## table\_readonly
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "Nova configuração para marcar a tabela como somente leitura, impedindo inserções e modificações"}]}]} />

Se definido como true, a tabela entra em modo somente leitura e não realiza modificações no disco.

Todas as operações em primeiro plano que modificariam a tabela são rejeitadas: inserções, mutações, `OPTIMIZE` e os comandos de partição que alteram dados
(`ATTACH`/`MOVE`/`DROP`/`DROP DETACHED`/`FETCH`/`REPLACE PARTITION`, bem como `MOVE PARTITION ... TO TABLE` tendo esta tabela como destino). Operações
que não modificam os dados da tabela, como `FREEZE`/`UNFREEZE` e `FORGET PARTITION`, continuam permitidas.

Nenhuma tarefa em segundo plano também é agendada: merges regulares, merges de TTL (`DELETE`/`MOVE`/recompressão), merges de recompressão, mutações em segundo plano
e movimentações de partes em segundo plano são todos suprimidos. Como consequência, uma tabela com TTL deixa de liberar ou mover seus dados expirados enquanto esta configuração
estiver habilitada.

A configuração sempre pode ser revertida com `ALTER TABLE ... MODIFY SETTING table_readonly = 0` (ou `RESET SETTING`). Não há suporte para `ReplicatedMergeTree`.
