Vue d’ensemble
Définition des contraintes
profiles du fichier de configuration user.xml.
Elles empêchent les utilisateurs de modifier certains paramètres à l’aide de
l’instruction SET.
Les contraintes sont définies comme suit :
Types de contraintes
minmaxdisallowedreadonly(avec l’aliasconst)changeable_in_readonly
min et max définissent les bornes inférieure et supérieure d’un
paramètre numérique, et peuvent être utilisées conjointement.
La contrainte disallowed permet de spécifier une ou plusieurs valeurs qui ne doivent pas
être autorisées pour un paramètre donné.
La contrainte readonly ou const indique que l’utilisateur ne peut pas modifier
du tout le paramètre correspondant.
Le type de contrainte changeable_in_readonly permet aux utilisateurs de modifier le paramètre
dans la plage min/max même si le paramètre readonly est défini sur 1 ;
autrement, les paramètres ne peuvent pas être modifiés en mode readonly=1.
changeable_in_readonly n’est pris en charge que si settings_constraints_replace_previous
est activé :Plusieurs profils de contraintes
settings_constraints_replace_previous :
- true (recommandé) : les contraintes d’un même paramètre sont remplacées lors de la fusion, de sorte que la dernière contrainte est utilisée et que toutes les précédentes sont ignorées. Cela inclut les champs non définis dans la nouvelle contrainte.
- false (par défaut) : les contraintes d’un même paramètre sont fusionnées de telle sorte que chaque type de contrainte non défini est repris du profil précédent et que chaque type de contrainte défini est remplacé par la valeur du nouveau profil.
Mode lecture seule
readonly, à ne pas confondre
avec le type de contrainte readonly :
readonly=0: aucune restriction de lecture seule.readonly=1: seules les requêtes en lecture sont autorisées et les paramètres ne peuvent pas être modifiés, sauf sichangeable_in_readonlyest défini.readonly=2: seules les requêtes en lecture sont autorisées, mais les paramètres peuvent être modifiés, à l’exception du paramètrereadonlylui-même.
Exemple
users.xml contienne les lignes suivantes :
Le profil
default est traité de manière particulière : toutes les contraintes définies pour le
profil default deviennent les contraintes par défaut et s’appliquent donc à tous les utilisateurs
jusqu’à ce qu’elles soient explicitement remplacées pour ces utilisateurs.Contraintes sur les paramètres de MergeTree
merge_tree_ lorsqu’il est
référencé dans la section <constraints>.
Exemple
storage_policy spécifié explicitement