Le fichier user.xml gère les paramètres au niveau utilisateur, les informations de compte et les permissions dans ApsaraDB for ClickHouse. Cette rubrique explique comment modifier les paramètres de user.xml à l'aide de commandes SQL.
Contexte
ApsaraDB for ClickHouse stocke les valeurs par défaut de l'ensemble du cluster dans deux fichiers de configuration : config.xml et user.xml.
config.xml : Modifiez les paramètres dans la console ApsaraDB for ClickHouse. Les modifications nécessitent un redémarrage du cluster pour prendre effet. Pour plus d'informations, consultez Configuration des paramètres de config.xml.
user.xml : Modifiez les paramètres en vous connectant au cluster et en exécutant des commandes SQL. Les modifications ne nécessitent pas de redémarrage du cluster. Ces paramètres ne peuvent pas être modifiés à l'aide de
clickhouse-client.
Prérequis
Avant de commencer, assurez-vous que :
Le cluster est à l'état Running.
Community-compatible Edition
Syntaxe
SET GLOBAL ON cluster default <setting_name> = <setting_value>;
Pour les valeurs booléennes ou de type chaîne, entourez setting_value de guillemets simples (').
Pour obtenir la liste complète des paramètres pris en charge, consultez Paramètres de ClickHouse.
Exemples
Définissez le nombre maximal de lignes par bloc lors du chargement des données depuis une table :
SET GLOBAL ON cluster default max_block_size = 10000;
Activez l'analyse parallèle préservant l'ordre pour le format de données :
SET GLOBAL ON cluster default input_format_parallel_parsing = 'True';
Affichage des paramètres actuels
Pour afficher tous les paramètres actuellement configurés dans user.xml pour le cluster, exécutez la commande suivante :
SELECT * FROM system.settings;
Enterprise Edition
Les clusters Enterprise Edition utilisent le système natif de contrôle d'accès basé sur SQL de ClickHouse. La syntaxe varie en fonction de la portée et de la persistance de la modification.
Pour connaître les valeurs valides de setting_name et de setting_value, consultez Core settings et Query complexity settings.
Définition de paramètres temporaires pour la session actuelle
Utilisez SET pour appliquer un paramètre uniquement à la session actuelle.
Les paramètres au niveau de la session ne sont pas persistants. Ils deviennent invalides lorsque vous vous déconnectez du cluster.
SET <setting_name> = <setting_value>;
Exemple : Activez la fonctionnalité de vue en direct pour la session actuelle.
SET allow_experimental_live_view = 1;
Persistance des paramètres pour un seul compte
Utilisez ALTER USER pour configurer de manière persistante les paramètres, les informations de compte ou les permissions pour un utilisateur spécifique.
Exécutez cette instruction avec un compte privilégié ou un compte disposant de l'autorisation ACCESS MANAGEMENT.
L'instruction
ALTER USERréinitialise la configuration de l'utilisateur.Les paramètres appliqués avec
ALTER USERsont persistants, mais ne prennent pas effet dans la session actuelle. Reconnectez-vous au cluster pour que les modifications soient prises en compte.
Syntaxe :
ALTER USER <user_name> SETTINGS <setting_name> = <setting_value>;
Example: Limitez l'utilisation de la mémoire pour l'utilisateur Nancy à 4 Go.
ALTER USER Nancy SETTINGS max_memory_usage_for_user = 4294967296;
Persistance des paramètres pour tous les comptes
Utilisez CREATE SETTINGS PROFILE pour appliquer des paramètres à tous les utilisateurs du cluster.
Exécutez cette instruction avec un compte privilégié ou un compte disposant de l'autorisation ACCESS MANAGEMENT.
Les paramètres appliqués avec
CREATE SETTINGS PROFILEsont persistants, mais ne prennent pas effet dans la session actuelle. Reconnectez-vous au cluster pour que les modifications soient prises en compte.
Syntaxe :
CREATE SETTINGS PROFILE <profile_name> SETTINGS <setting_name> = <setting_value> TO ALL;
Example: Limitez la durée d'exécution des requêtes à 10 secondes pour tous les utilisateurs.
CREATE SETTINGS PROFILE max_execution_time_profile SETTINGS max_execution_time = 10 TO ALL;
Vérification de la persistance des paramètres
Syntaxe :
SHOW SETTINGS LIKE '%<settings_name>%';
Exemple : Vérifiez si allow_experimental_live_view est persistant.
SHOW SETTINGS LIKE '%allow_experimental_live_view%';