* Replace underscores with hyphens * remove temporary code * fix style check * fix collapse
2.6 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | f865c9653f |
62 | Contraintes sur les paramètres |
Contraintes Sur Les paramètres
Les contraintes sur les paramètres peuvent être définis dans le profiles
la section de la user.xml
fichier de configuration et interdire aux utilisateurs de modifier certains SET
requête.
Les contraintes sont définies comme suit:
<profiles>
<user_name>
<constraints>
<setting_name_1>
<min>lower_boundary</min>
</setting_name_1>
<setting_name_2>
<max>upper_boundary</max>
</setting_name_2>
<setting_name_3>
<min>lower_boundary</min>
<max>upper_boundary</max>
</setting_name_3>
<setting_name_4>
<readonly/>
</setting_name_4>
</constraints>
</user_name>
</profiles>
Si l’utilisateur tente de violer les contraintes une exception est levée et le réglage n’est pas modifié.
Trois types de contraintes sont pris en charge: min
, max
, readonly
. Le min
et max
les contraintes spécifient les limites supérieure et inférieure pour un paramètre numérique et peuvent être utilisées en combinaison. Le readonly
contrainte spécifie que l’utilisateur ne peut pas modifier le paramètre correspondant à tous.
Exemple: Laisser users.xml
comprend des lignes:
<profiles>
<default>
<max_memory_usage>10000000000</max_memory_usage>
<force_index_by_date>0</force_index_by_date>
...
<constraints>
<max_memory_usage>
<min>5000000000</min>
<max>20000000000</max>
</max_memory_usage>
<force_index_by_date>
<readonly/>
</force_index_by_date>
</constraints>
</default>
</profiles>
Les requêtes suivantes toutes les exceptions throw:
SET max_memory_usage=20000000001;
SET max_memory_usage=4999999999;
SET force_index_by_date=1;
Code: 452, e.displayText() = DB::Exception: Setting max_memory_usage should not be greater than 20000000000.
Code: 452, e.displayText() = DB::Exception: Setting max_memory_usage should not be less than 5000000000.
Code: 452, e.displayText() = DB::Exception: Setting force_index_by_date should not be changed.
Note: le default
le profil a une manipulation particulière: toutes les contraintes définies pour default
le profil devient les contraintes par défaut, de sorte qu’ils restreignent tous les utilisateurs jusqu’à ce qu’ils soient explicitement remplacés pour ces utilisateurs.