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

# ajustes de formato format_schema_*

> Ajustes de formato de ClickHouse en el grupo generado format_schema_*.

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 se generan automáticamente a partir del [código fuente](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/FormatFactorySettings.h).

<div id="format_schema">
  ## format\_schema
</div>

Este parámetro es útil cuando se usan formatos que requieren una definición de esquema, como [Cap'n Proto](https://capnproto.org/) o [Protobuf](https://developers.google.com/protocol-buffers/). El valor depende del formato.

<div id="format_schema_message_name">
  ## format\_schema\_message\_name
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": ""},{"label": "Nueva configuración"}]}]} />

Define el nombre del mensaje requerido en el esquema definido en `format_schema`.
Para mantener la compatibilidad con el formato heredado de `format_schema` (`file_name:message_name`):

* Si no se especifica `format_schema_message_name`, el nombre del mensaje se infiere a partir de la parte `message_name` del valor heredado de `format_schema`.
* Si se especifica `format_schema_message_name` mientras se usa el formato heredado, se producirá un error.

<div id="format_schema_source">
  ## format\_schema\_source
</div>

<SettingsInfoBlock type="String" default_value="file" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "file"},{"label": "Nueva configuración"}]}]} />

Define el origen de `format_schema`.
Posibles valores:

* 'file' (predeterminado): `format_schema` es el nombre de un archivo de esquema ubicado en el directorio `format_schemas`.
* 'string': `format_schema` es el contenido literal del esquema.
* 'query': `format_schema` es una consulta para obtener el esquema.
  Cuando `format_schema_source` se establece en 'query', se aplican las siguientes condiciones:
* La consulta debe devolver exactamente un valor: una sola fila con una única columna de tipo cadena.
* El resultado de la consulta se trata como el contenido del esquema.
* Este resultado se almacena localmente en caché en el directorio `format_schemas`.
* Puede borrar la caché local con el comando: `SYSTEM DROP FORMAT SCHEMA CACHE FOR Files`.
* Una vez almacenado en caché, las consultas idénticas no vuelven a ejecutarse para obtener el esquema hasta que la caché se borre explícitamente.
* Además de los archivos de caché locales, los mensajes Protobuf también se almacenan en la caché en memoria. Incluso después de borrar los archivos de caché locales, la caché en memoria debe borrarse con `SYSTEM DROP FORMAT SCHEMA CACHE [FOR Protobuf]` para actualizar por completo el esquema.
* Ejecute la consulta `SYSTEM DROP FORMAT SCHEMA CACHE` para borrar de una sola vez la caché de los archivos de caché y de los esquemas de mensajes Protobuf.
