Passer au contenu principal
Les requêtes dans ClickHouse peuvent être réparties en plusieurs types :
  1. Requêtes de lecture de données : SELECT, SHOW, DESCRIBE, EXISTS.
  2. Requêtes d’écriture de données : INSERT, OPTIMIZE.
  3. Requêtes de modification des paramètres : SET, USE.
  4. Requêtes DDL : CREATE, ALTER, RENAME, ATTACH, DETACH, DROP TRUNCATE.
  5. KILL QUERY.
Les paramètres suivants définissent les permissions utilisateur selon le type de requête :

readonly

Restreint les permissions pour les requêtes de lecture de données, d’écriture de données et de modification des paramètres. Lorsqu’il est défini sur 1, autorise :
  • Tous les types de requêtes de lecture (comme SELECT et les requêtes équivalentes).
  • Les requêtes qui modifient uniquement le contexte de session (comme USE).
Lorsqu’il est défini sur 2, autorise ce qui précède, ainsi que :
  • SET et CREATE TEMPORARY TABLE
Les requêtes comme EXISTS, DESCRIBE, EXPLAIN, SHOW PROCESSLIST, etc. sont équivalentes à SELECT, car elles ne font qu’un SELECT sur des tables système.
Valeurs possibles :
  • 0 — Les requêtes de lecture, d’écriture et de modification des paramètres sont autorisées.
  • 1 — Seules les requêtes de lecture de données sont autorisées.
  • 2 — Les requêtes de lecture de données et de modification des paramètres sont autorisées.
Valeur par défaut : 0
Après avoir défini readonly = 1, l’utilisateur ne peut pas modifier les paramètres readonly et allow_ddl dans la session en cours.Lors de l’utilisation de la méthode GET dans l’interface HTTP, readonly = 1 est défini automatiquement. Pour modifier des données, utilisez la méthode POST.Définir readonly = 1 empêche l’utilisateur de modifier les paramètres. Il est possible d’empêcher l’utilisateur de ne modifier que certains paramètres spécifiques. Il est également possible d’autoriser la modification de certains paramètres spécifiques uniquement malgré les restrictions de readonly = 1. Pour plus de détails, voir contraintes sur les paramètres.

allow_ddl

Autorise ou interdit les requêtes DDL. Valeurs possibles :
  • 0 — les requêtes DDL ne sont pas autorisées.
  • 1 — les requêtes DDL sont autorisées.
Valeur par défaut : 1
Vous ne pouvez pas exécuter SET allow_ddl = 1 si allow_ddl = 0 pour la session en cours.
KILL QUERYKILL QUERY peut être exécuté avec n’importe quelle combinaison des paramètres readonly et allow_ddl.
Dernière modification le 25 juin 2026