Introduction
Il existe plusieurs façons de définir un paramètre pour un utilisateur dans ClickHouse, selon le cas d’utilisation et la durée pendant laquelle vous souhaitez conserver ce paramètre. Examinons quelques scénarios…
Configurer un paramètre pour une seule requête
Une requête SELECT peut contenir une clause SETTINGS dans laquelle vous pouvez définir autant de paramètres que nécessaire. Ces paramètres s’appliquent uniquement à cette requête. Par exemple :
SELECT *
FROM my_table
SETTINGS max_threads = 8;Le nombre maximal de threads sera de 8 pour cette requête précise.
Configurer un paramètre pour une session
Vous pouvez définir un paramètre pour toute la durée d’une session client à l’aide d’une clause SET. C’est pratique pour des tests ad hoc ou lorsque vous souhaitez qu’un paramètre reste actif le temps de quelques requêtes, mais pas au-delà.
SET max_threads = 8;
SELECT *
FROM my_table;Configurer un paramètre pour un utilisateur donné
Utilisez ALTER USER pour définir un paramètre pour un seul utilisateur. Par exemple :
ALTER USER my_user_name SETTINGS max_threads = 8;Vous pouvez vérifier que cela a fonctionné en vous déconnectant de votre client, puis en vous reconnectant, et enfin en utilisant la fonction getSetting :
SELECT getSetting('max_threads');