Descripción general
Definición de restricciones
profiles del archivo de configuración user.xml.
Impiden que los usuarios cambien algunos ajustes mediante la
sentencia SET.
Las restricciones se definen de la siguiente manera:
Tipos de restricciones
minmaxdisallowedreadonly(con el aliasconst)changeable_in_readonly
min y max especifican los límites inferior y superior de una
configuración numérica, y pueden usarse en combinación.
La restricción disallowed puede usarse para especificar valores concretos que no
deben permitirse para una configuración determinada.
La restricción readonly o const especifica que el usuario no puede cambiar en
absoluto la configuración correspondiente.
El tipo de restricción changeable_in_readonly permite a los usuarios cambiar la configuración
dentro del rango min/max incluso si la configuración readonly está establecida en 1;
de lo contrario, no se permite cambiar configuraciones en el modo readonly=1.
changeable_in_readonly solo es compatible si settings_constraints_replace_previous
está habilitado:Varios perfiles de restricciones
settings_constraints_replace_previous:
- true (recomendado): las restricciones para el mismo ajuste se sustituyen durante la fusión, de modo que se usa la última restricción y se ignoran todas las anteriores. Esto incluye los campos que no están definidos en la nueva restricción.
- false (predeterminado): las restricciones para el mismo ajuste se fusionan de forma que cada tipo de restricción no definido se toma del perfil anterior y cada tipo de restricción definido se sustituye por el valor del nuevo perfil.
Modo de solo lectura
readonly, que no debe confundirse
con el tipo de restricción readonly:
readonly=0: Sin restricciones de solo lectura.readonly=1: Solo se permiten consultas de lectura y no se puede cambiar la configuración, salvo que se haya establecidochangeable_in_readonly.readonly=2: Solo se permiten consultas de lectura, pero sí se puede cambiar la configuración, excepto la propia configuraciónreadonly.
Ejemplo
users.xml:
El perfil
default recibe un tratamiento especial: todas las restricciones definidas para el
perfil default pasan a ser las restricciones predeterminadas, por lo que se aplican a todos los usuarios
hasta que se sobrescriban explícitamente para esos usuarios.Restricciones en la configuración de MergeTree
merge_tree_ cuando
se haga referencia a ella en la sección <constraints>.
Ejemplo
storage_policy especificada explícitamente