Saltar al contenido principal

Descripción general

Hay varias formas de ejecutar sentencias con ajustes específicos. Los ajustes se configuran por capas, y cada capa posterior redefine los valores anteriores de un ajuste.

Orden de prioridad

El orden de prioridad para definir un SETTING es:
  1. Aplicar un SETTING directamente a un usuario o dentro de un perfil de ajustes
    • SQL (recomendado)
    • añadir uno o varios archivos XML o YAML a /etc/clickhouse-server/users.d
  2. Ajustes de sesión
    • Envíe SET setting=value desde la SQL Console de ClickHouse Cloud o clickhouse client en modo interactivo. Del mismo modo, puede usar sesiones de ClickHouse en el protocolo HTTP. Para ello, debe especificar el parámetro HTTP session_id.
  3. Ajustes de consulta
    • Al iniciar clickhouse client en modo no interactivo, establezca el parámetro de inicio --setting=value.
    • Al usar la API HTTP, pase parámetros CGI (URL?setting_1=value&setting_2=value...).
    • Defina ajustes en la cláusula SETTINGS de la consulta SELECT. El valor del SETTING se aplica solo a esa consulta y se restablece al valor predeterminado o al valor anterior una vez ejecutada la consulta.

Restablecer un ajuste a su valor predeterminado

Si cambia un ajuste y desea restablecerlo a su valor predeterminado, establezca el valor en DEFAULT. La sintaxis es la siguiente:
Por ejemplo, el valor predeterminado de async_insert es 0. Supongamos que cambia ese valor a 1:
La respuesta es:
El siguiente comando restablece su valor a 0:
La configuración ha vuelto a su valor predeterminado:

Ajustes personalizados

Además de los ajustes comunes, los usuarios pueden definir ajustes personalizados. Los ajustes personalizados permiten pasar parámetros específicos de la sesión que pueden usarse en consultas, políticas o funciones. Esto resulta útil cuando necesita:
  • Filtrar datos según la identidad del usuario o la organización
  • Aplicar una lógica de negocio distinta según el contexto
  • Mantener información con estado entre consultas dentro de una sesión
El nombre de un ajuste personalizado debe comenzar con uno de varios prefijos predefinidos de una lista que usted define. La lista de prefijos puede especificarse mediante el ajuste del servidor custom_settings_prefixes, definido en el archivo de configuración del servidor. En el ejemplo siguiente, se elige SQL_ como prefijo personalizado:
En ClickHouse Cloud no es posible especificar un prefijo personalizado. Todos los ajustes de usuario personalizados comienzan con el prefijo SQL_.
Para definir un ajuste personalizado, use el comando SET:
Para obtener el valor actual de una configuración personalizada, utilice la función getSetting():

Ejemplos

Todos estos ejemplos establecen el valor del ajuste async_insert en 1 y muestran cómo examinar los ajustes en un sistema en funcionamiento.

Usar SQL para aplicar directamente un ajuste a un usuario

Esto crea el usuario ingester con el ajuste async_inset = 1:

Examine el perfil de configuración y su asignación

Uso de SQL para crear un perfil de configuración y asignarlo a un usuario

Esto crea el perfil log_ingest con la configuración async_inset = 1:
Esto crea el usuario ingester y le asigna el perfil de configuración log_ingest:

Uso de XML para crear un perfil de configuración y un usuario

/etc/clickhouse-server/users.d/users.xml

Examinar el perfil de configuración y su asignación

Asignar una configuración a una sesión

Asignar una configuración en una consulta

Véase también

Última modificación el 2 de julio de 2026