> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation des instructions SYSTEM

# Instructions SYSTEM

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            Non pris en charge par ClickHouse Cloud
        </div>;
};

<div id="reload-embedded-dictionaries">
  ## SYSTEM RELOAD EMBEDDED DICTIONARIES
</div>

Recharge tous les [dictionnaires internes](/fr/reference/statements/create/dictionary).
Par défaut, les dictionnaires internes sont désactivés.
Renvoie toujours `Ok.`, quel que soit le résultat de la mise à jour des dictionnaires internes.

<div id="reload-dictionaries">
  ## SYSTEM RELOAD DICTIONARIES
</div>

La requête `SYSTEM RELOAD DICTIONARIES` recharge les dictionnaires dont le statut est `LOADED` (voir la colonne `status` de [`system.dictionaries`](/fr/reference/system-tables/dictionaries)), c’est-à-dire les dictionnaires qui ont déjà été chargés avec succès.
Par défaut, les dictionnaires sont chargés de manière différée (voir [dictionaries\_lazy\_load](/fr/reference/settings/server-settings/settings#dictionaries_lazy_load)) ; ainsi, au lieu d’être chargés automatiquement au démarrage, ils sont initialisés lors du premier accès, via la fonction [`dictGet`](/fr/reference/functions/regular-functions/ext-dict-functions#dictGet) ou une instruction `SELECT` sur des tables avec `ENGINE = Dictionary`.

**Syntaxe**

```sql theme={null}
SYSTEM RELOAD DICTIONARIES [ON CLUSTER cluster_name]
```

<div id="reload-dictionary">
  ## SYSTEM RELOAD DICTIONARY
</div>

Recharge entièrement un dictionnaire `dictionary_name`, quel que soit son état (LOADED / NOT\_LOADED / FAILED).
Renvoie toujours `Ok.`, quel que soit le résultat de la mise à jour du dictionnaire.

```sql theme={null}
SYSTEM RELOAD DICTIONARY [ON CLUSTER cluster_name] dictionary_name
```

L’état du dictionnaire peut être vérifié en interrogeant la table `system.dictionaries`.

```sql theme={null}
SELECT name, status FROM system.dictionaries;
```

<div id="reload-models">
  ## SYSTEM RELOAD MODELS
</div>

<Note>
  Cette instruction et `SYSTEM RELOAD MODEL` se contentent de décharger les modèles CatBoost de clickhouse-library-bridge. La fonction `catboostEvaluate()`
  charge un modèle lors du premier accès s'il n'est pas encore chargé.
</Note>

Décharge tous les modèles CatBoost.

**Syntaxe**

```sql theme={null}
SYSTEM RELOAD MODELS [ON CLUSTER cluster_name]
```

<div id="reload-model">
  ## SYSTEM RELOAD MODEL
</div>

Décharge le modèle CatBoost situé à `model_path`.

**Syntaxe**

```sql theme={null}
SYSTEM RELOAD MODEL [ON CLUSTER cluster_name] <model_path>
```

<div id="reload-functions">
  ## SYSTEM RELOAD FUNCTIONS
</div>

Recharge toutes les [fonctions définies par l’utilisateur exécutables](/fr/reference/functions/regular-functions/udf#executable-user-defined-functions) enregistrées, ou l’une d’entre elles, à partir d’un fichier de configuration.

**Syntaxe**

```sql theme={null}
SYSTEM RELOAD FUNCTIONS [ON CLUSTER cluster_name]
SYSTEM RELOAD FUNCTION [ON CLUSTER cluster_name] function_name
```

<div id="reload-asynchronous-metrics">
  ## SYSTEM RELOAD ASYNCHRONOUS METRICS
</div>

Recalcule toutes les [métriques asynchrones](/fr/reference/system-tables/asynchronous_metrics). Comme les métriques asynchrones sont mises à jour périodiquement selon le paramètre [asynchronous\_metrics\_update\_period\_s](/fr/reference/settings/server-settings/settings), il n’est généralement pas nécessaire de les mettre à jour manuellement à l’aide de cette instruction.

```sql theme={null}
SYSTEM RELOAD ASYNCHRONOUS METRICS [ON CLUSTER cluster_name]
```

<div id="drop-dns-cache">
  ## SYSTEM CLEAR|DROP DNS CACHE
</div>

Vide le cache DNS interne de ClickHouse. Il est parfois nécessaire (avec d’anciennes versions de ClickHouse) d’utiliser cette commande lors d’une modification de l’infrastructure (par exemple, en cas de changement de l’adresse IP d’un autre serveur ClickHouse ou du serveur utilisé par les Dictionaries).

Pour une gestion plus pratique (automatique) du cache, consultez les paramètres `disable_internal_dns_cache`, `dns_cache_max_entries`, `dns_cache_update_period`.

<div id="drop-mark-cache">
  ## SYSTEM CLEAR|DROP MARK CACHE
</div>

Vide le cache de marques.

<div id="drop-iceberg-metadata-cache">
  ## SYSTEM CLEAR|DROP ICEBERG METADATA CACHE
</div>

Vide le cache des métadonnées Iceberg.

<div id="drop-avro-schema-cache">
  ## SYSTEM CLEAR|DROP AVRO SCHEMA CACHE
</div>

Vide les caches par URL du Confluent Schema Registry utilisés par le format `AvroConfluent`. Cette opération supprime à la fois le cache de récupération des schémas (id → schéma) et le cache d'enregistrement des schémas (subject + schéma → id), de sorte que les lectures et écritures suivantes repassent par le serveur du registre. Utile lorsqu'un schéma a été supprimé ou réécrit côté registre, ou pour vérifier l'idempotence du registre dans les tests.

<div id="drop-parquet-metadata-cache">
  ## SYSTEM DROP PARQUET METADATA CACHE
</div>

Efface le cache de métadonnées Parquet.

<div id="drop-text-index-caches">
  ## SYSTEM CLEAR|DROP TEXT INDEX CACHES
</div>

Efface les caches d’en-tête, de dictionnaire et de postings de l’index de texte.

Si vous souhaitez effacer séparément l’un de ces caches, vous pouvez exécuter

* `SYSTEM CLEAR TEXT INDEX HEADER CACHE`,
* `SYSTEM CLEAR TEXT INDEX DICTIONARY CACHE`, ou
* `SYSTEM CLEAR TEXT INDEX POSTINGS CACHE`

<div id="drop-replica">
  ## SYSTEM DROP REPLICA
</div>

Les répliques inactives des tables `ReplicatedMergeTree` peuvent être supprimées à l’aide de la syntaxe suivante :

```sql theme={null}
SYSTEM DROP REPLICA 'replica_name' FROM TABLE database.table;
SYSTEM DROP REPLICA 'replica_name' FROM DATABASE database;
SYSTEM DROP REPLICA 'replica_name';
SYSTEM DROP REPLICA 'replica_name' FROM ZKPATH '/path/to/table/in/zk';
```

Les requêtes supprimeront le chemin de la réplique `ReplicatedMergeTree` dans ZooKeeper. Cela est utile lorsque la réplique est hors service et que ses métadonnées ne peuvent plus être supprimées de ZooKeeper via `DROP TABLE`, car la table n'existe plus. Seule la réplique inactive/obsolète sera supprimée ; la réplique locale ne peut pas l'être. Pour cela, utilisez `DROP TABLE`. `DROP REPLICA` ne supprime aucune table et n'efface ni données ni métadonnées sur le disque.

La première supprime les métadonnées de la réplique `'replica_name'` de la table `database.table`.
La deuxième fait de même pour toutes les tables répliquées de la base de données.
La troisième fait de même pour toutes les tables répliquées sur le serveur local.
La quatrième est utile pour supprimer les métadonnées d'une réplique hors service lorsque toutes les autres répliques d'une table ont été supprimées. Elle nécessite que le chemin de la table soit spécifié explicitement. Il doit s'agir du même chemin que celui passé comme premier argument du moteur `ReplicatedMergeTree` lors de la création de la table.

<div id="drop-database-replica">
  ## SYSTEM DROP DATABASE REPLICA
</div>

Les répliques inactives des bases de données `Replicated` peuvent être supprimées à l’aide de la syntaxe suivante :

```sql theme={null}
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'] FROM DATABASE database;
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'];
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'] FROM ZKPATH '/path/to/table/in/zk';
```

Semblable à `SYSTEM DROP REPLICA`, mais supprime le chemin de la réplique de la base de données `Replicated` dans ZooKeeper lorsqu'il n'existe aucune base de données sur laquelle exécuter `DROP DATABASE`. Veuillez noter que cela ne supprime pas les répliques `ReplicatedMergeTree` (vous pouvez donc aussi avoir besoin de `SYSTEM DROP REPLICA`). Les noms du shard et de la réplique sont ceux qui ont été spécifiés dans les arguments du moteur `Replicated` lors de la création de la base de données. En outre, ces noms peuvent être récupérés à partir des colonnes `database_shard_name` et `database_replica_name` de `system.clusters`. Si la clause `FROM SHARD` est absente, `replica_name` doit alors être un nom de réplique complet au format `shard_name|replica_name`.

<div id="drop-uncompressed-cache">
  ## SYSTEM CLEAR|DROP UNCOMPRESSED CACHE
</div>

Efface le cache des données décompressées.
Le cache des données décompressées est activé/désactivé par le paramètre [`use_uncompressed_cache`](/fr/reference/settings/session-settings#use_uncompressed_cache) au niveau de la requête, de l’utilisateur ou du profil.
Sa taille peut être configurée à l’aide du paramètre [`uncompressed_cache_size`](/fr/reference/settings/server-settings/settings#uncompressed_cache_size) au niveau du serveur.

<div id="drop-compiled-expression-cache">
  ## SYSTEM CLEAR|DROP COMPILED EXPRESSION CACHE
</div>

Efface le cache des expressions compilées.
Le cache des expressions compilées est activé ou désactivé à l’aide du paramètre [`compile_expressions`](/fr/reference/settings/session-settings#compile_expressions), défini au niveau de la requête, de l’utilisateur ou du profil.

<div id="drop-query-condition-cache">
  ## SYSTEM CLEAR|DROP QUERY CONDITION CACHE
</div>

Vide le cache des conditions de requête.

<div id="drop-query-cache">
  ## SYSTEM CLEAR|DROP CACHE DE REQUÊTES
</div>

```sql theme={null}
SYSTEM CLEAR QUERY CACHE;
SYSTEM CLEAR QUERY CACHE TAG '<tag>'
```

Efface le [cache de requêtes](/fr/concepts/features/performance/caches/query-cache).
Si un tag est spécifié, seules les entrées du cache de requêtes associées à ce tag sont supprimées.

<div id="system-drop-schema-format">
  ## SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE
</div>

Vide le cache des schémas chargés depuis [`format_schema_path`](/fr/reference/settings/server-settings/settings#format_schema_path).

Cibles prises en charge :

* Protobuf : supprime de la mémoire les définitions de messages Protobuf importées.
* Fichiers : supprime les fichiers de schéma mis en cache et stockés localement dans [`format_schema_path`](/fr/reference/settings/server-settings/settings#format_schema_path), générés lorsque `format_schema_source` est défini sur `query`.
  Remarque : si aucune cible n'est spécifiée, les deux caches sont vidés.

```sql theme={null}
SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE [FOR Protobuf/Files]
```

<div id="flush-logs">
  ## SYSTEM FLUSH LOGS
</div>

Force l’écriture des messages de journalisation mis en mémoire tampon dans les tables système, par exemple `system.query_log`. Cette commande est surtout utile pour le débogage, car la plupart des tables système ont un intervalle de vidage par défaut de 7,5 secondes.
Elle crée également les tables système, même si la file d’attente des messages est vide.

```sql theme={null}
SYSTEM FLUSH LOGS [ON CLUSTER cluster_name] [log_name|[database.table]] [, ...]
```

Si vous ne voulez pas tout vider, vous pouvez vider un ou plusieurs logs individuels en indiquant soit leur nom, soit leur table cible :

```sql theme={null}
SYSTEM FLUSH LOGS query_log, system.query_views_log;
```

<div id="reload-config">
  ## SYSTEM RELOAD CONFIG
</div>

Recharge la configuration de ClickHouse. S’utilise lorsque la configuration est stockée dans ZooKeeper. Notez que `SYSTEM RELOAD CONFIG` ne recharge pas la configuration `USER` stockée dans ZooKeeper ; il recharge uniquement la configuration `USER` stockée dans `users.xml`.  Pour recharger l’ensemble de la configuration `USER`, utilisez `SYSTEM RELOAD USERS`

```sql theme={null}
SYSTEM RELOAD CONFIG [ON CLUSTER cluster_name]
```

<div id="reload-users">
  ## SYSTEM RELOAD USERS
</div>

Recharge l’ensemble des stockages d’accès, notamment : users.xml, le stockage d’accès sur disque local, le stockage d’accès répliqué (dans ZooKeeper).

```sql theme={null}
SYSTEM RELOAD USERS [ON CLUSTER cluster_name]
```

<div id="shutdown">
  ## SYSTEM SHUTDOWN
</div>

Arrête proprement ClickHouse (comme `service clickhouse-server stop` / `kill {$pid_clickhouse-server}`)

<div id="kill">
  ## SYSTEM KILL
</div>

Met fin au processus ClickHouse (comme `kill -9 {$ pid_clickhouse-server}`)

<div id="instrument">
  ## SYSTEM INSTRUMENT
</div>

Gère les points d’instrumentation à l’aide de la fonctionnalité XRay de LLVM, disponible lorsque ClickHouse est compilé avec `ENABLE_XRAY=1`.
Cela permet de déboguer et de profiler en production sans modifier le code source, avec une surcharge minimale.
Lorsqu’aucun point d’instrumentation n’est ajouté, la pénalité de performance est négligeable, car cela ajoute seulement un saut supplémentaire vers une adresse proche
au prologue et à l’épilogue des fonctions de plus de 200 instructions.

<div id="instrument-add">
  ### SYSTEM INSTRUMENT ADD
</div>

Ajoute un nouveau point d’instrumentation. Les fonctions instrumentées peuvent être examinées dans la table système [`system.instrumentation`](/fr/reference/system-tables/instrumentation). Plusieurs handlers peuvent être ajoutés à une même fonction, et ils seront exécutés dans le même ordre que celui dans lequel l’instrumentation a été ajoutée.
Les fonctions à instrumenter peuvent être répertoriées à partir de la table système [`system.symbols`](/fr/reference/system-tables/symbols).

Il existe trois types différents de handlers à ajouter aux fonctions :

**Syntax**

```sql theme={null}
SYSTEM INSTRUMENT ADD FUNCTION HANDLER [ARGUMENTS]
```

où `FUNCTION` désigne n’importe quelle fonction ou sous-chaîne d’une fonction, telle que `QueryMetricLog::startQuery`, et où le gestionnaire est l’un des suivants

<div id="instrument-add-log">
  #### LOG
</div>

Affiche le texte passé en argument ainsi que la stack trace, soit à l'`ENTRY`, soit à l'`EXIT` de la fonction.

```sql theme={null}
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' LOG ENTRY 'this is a log printed at entry'
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' LOG EXIT 'this is a log printed at exit'
```

<div id="instrument-add-sleep">
  #### SLEEP
</div>

Suspend l’exécution pendant un nombre défini de secondes, soit sur `ENTRY`, soit sur `EXIT` :

```sql theme={null}
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0.5
```

ou pour un nombre aléatoire de secondes suivant une distribution uniforme, en fournissant min et max séparés par un espace :

```sql theme={null}
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0 1
```

<div id="instrument-add-profile">
  #### PROFIL
</div>

Mesure le temps écoulé entre `ENTRY` et `EXIT` d'une fonction.
Le résultat du profilage est stocké dans [`system.trace_log`](/fr/reference/system-tables/trace_log) et peut être converti
en [format de trace d'événements Chrome](/fr/reference/system-tables/trace_log#chrome-event-trace-format).

```sql theme={null}
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' PROFILE
```

<div id="instrument-remove">
  ### SYSTEM INSTRUMENT REMOVE
</div>

Supprime un point d’instrumentation donné avec :

```sql theme={null}
SYSTEM INSTRUMENT REMOVE ID
```

tous à l’aide du mot-clé `ALL` :

```sql theme={null}
SYSTEM INSTRUMENT REMOVE ALL
```

un ensemble d’ID provenant d’une sous-requête :

```sql theme={null}
SYSTEM INSTRUMENT REMOVE (SELECT id FROM system.instrumentation WHERE handler = 'log')
```

ou tous les points d’instrumentation correspondant à un function\_name donné :

```sql theme={null}
SYSTEM INSTRUMENT REMOVE 'QueryMetricLog::startQuery'
```

Les informations sur les points d’instrumentation peuvent être récupérées depuis la table système [`system.instrumentation`](/fr/reference/system-tables/instrumentation).

<div id="managing-distributed-tables">
  ## Gestion des tables Distributed
</div>

ClickHouse peut gérer des tables [Distributed](/fr/reference/engines/table-engines/special/distributed). Lorsqu'un utilisateur insère des données dans ces tables, ClickHouse crée d'abord une file d'attente des données à envoyer aux nœuds du cluster, puis les envoie de manière asynchrone. Vous pouvez gérer le traitement de cette file d'attente avec les requêtes [`STOP DISTRIBUTED SENDS`](#stop-distributed-sends), [FLUSH DISTRIBUTED](#flush-distributed) et [`START DISTRIBUTED SENDS`](#start-distributed-sends). Vous pouvez également insérer des données distribuées de manière synchrone avec le paramètre [`distributed_foreground_insert`](/fr/reference/settings/session-settings#distributed_foreground_insert).

<div id="stop-distributed-sends">
  ### SYSTEM STOP DISTRIBUTED SENDS
</div>

Désactive la distribution des données en arrière-plan lors de l’insertion de données dans des tables Distributed.

```sql theme={null}
SYSTEM STOP DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]
```

<Note>
  Si [`prefer_localhost_replica`](/fr/reference/settings/session-settings#prefer_localhost_replica) est activé (valeur par défaut), les données seront malgré tout insérées dans le shard local.
</Note>

<div id="flush-distributed">
  ### SYSTEM FLUSH DISTRIBUTED
</div>

Force ClickHouse à envoyer les données aux nœuds du cluster de façon synchrone. Si certains nœuds sont indisponibles, ClickHouse lève une exception et arrête l’exécution de la requête. Vous pouvez relancer la requête jusqu’à ce qu’elle aboutisse, ce qui se produira lorsque tous les nœuds seront de nouveau en ligne.

Vous pouvez également surcharger certains paramètres via la clause `SETTINGS` ; cela peut être utile pour contourner certaines limitations temporaires, comme `max_concurrent_queries_for_all_users` ou `max_memory_usage`.

```sql theme={null}
SYSTEM FLUSH DISTRIBUTED [db.]<distributed_table_name> [ON CLUSTER cluster_name] [SETTINGS ...]
```

<Note>
  Chaque bloc en attente est stocké sur le disque avec les paramètres de la requête INSERT initiale ; il peut donc parfois être utile de remplacer ces paramètres.
</Note>

<div id="start-distributed-sends">
  ### SYSTEM START DISTRIBUTED SENDS
</div>

Active la distribution des données en arrière-plan lors de l’insertion de données dans les tables Distributed.

```sql theme={null}
SYSTEM START DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]
```

<div id="stop-listen">
  ### SYSTEM STOP LISTEN
</div>

Ferme le socket et met fin proprement aux connexions existantes au serveur sur le port spécifié, à l’aide du protocole spécifié.

Toutefois, si les paramètres du protocole correspondant n’ont pas été spécifiés dans la configuration de clickhouse-server, cette commande n’aura aucun effet.

```sql theme={null}
SYSTEM STOP LISTEN [ON CLUSTER cluster_name] [QUERIES ALL | QUERIES DEFAULT | QUERIES CUSTOM | TCP | TCP WITH PROXY | TCP SECURE | HTTP | HTTPS | MYSQL | GRPC | POSTGRESQL | PROMETHEUS | CUSTOM 'protocol']
```

* Si le modificateur `CUSTOM 'protocol'` est spécifié, le protocole personnalisé portant le nom indiqué, défini dans la section des protocoles de la configuration du serveur, sera arrêté.
* Si le modificateur `QUERIES ALL [EXCEPT .. [,..]]` est spécifié, tous les protocoles seront arrêtés, sauf ceux indiqués dans la clause `EXCEPT`.
* Si le modificateur `QUERIES DEFAULT [EXCEPT .. [,..]]` est spécifié, tous les protocoles par défaut seront arrêtés, sauf ceux indiqués dans la clause `EXCEPT`.
* Si le modificateur `QUERIES CUSTOM [EXCEPT .. [,..]]` est spécifié, tous les protocoles personnalisés seront arrêtés, sauf ceux indiqués dans la clause `EXCEPT`.

<div id="start-listen">
  ### SYSTEM START LISTEN
</div>

Permet d’établir de nouvelles connexions sur les protocoles spécifiés.

Cependant, si le serveur sur le port et avec le protocole spécifiés n’a pas été arrêté à l’aide de la commande SYSTEM STOP LISTEN, cette commande sera sans effet.

```sql theme={null}
SYSTEM START LISTEN [ON CLUSTER cluster_name] [QUERIES ALL | QUERIES DEFAULT | QUERIES CUSTOM | TCP | TCP WITH PROXY | TCP SECURE | HTTP | HTTPS | MYSQL | GRPC | POSTGRESQL | PROMETHEUS | CUSTOM 'protocol']
```

<div id="managing-mergetree-tables">
  ## Gestion des tables MergeTree
</div>

ClickHouse peut gérer les opérations en arrière-plan dans les tables [MergeTree](/fr/reference/engines/table-engines/mergetree-family/mergetree).

<div id="stop-merges">
  ### SYSTEM STOP MERGES
</div>

Permet d'arrêter les fusions en arrière-plan pour les tables de la famille MergeTree :

```sql theme={null}
SYSTEM STOP MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]
```

<Note>
  Un `DETACH / ATTACH` d'une table redémarre les fusions en arrière-plan de cette table, même si elles ont auparavant été arrêtées pour toutes les tables MergeTree.
</Note>

<div id="start-merges">
  ### SYSTEM START MERGES
</div>

Permet de démarrer les fusions en arrière-plan pour les tables de la famille MergeTree :

```sql theme={null}
SYSTEM START MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]
```

<div id="stop-ttl-merges">
  ### SYSTEM STOP TTL MERGES
</div>

Permet d’interrompre la suppression en arrière-plan des anciennes données selon l’[expression TTL](/fr/reference/engines/table-engines/mergetree-family/mergetree#table_engine-mergetree-ttl) pour les tables de la famille MergeTree :
Renvoie `Ok.` même si la table n’existe pas ou n’utilise pas le moteur MergeTree. Renvoie une erreur lorsque la base de données n’existe pas :

```sql theme={null}
SYSTEM STOP TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]
```

<div id="start-ttl-merges">
  ### SYSTEM START TTL MERGES
</div>

Permet de lancer en arrière-plan la suppression des anciennes données conformément à l’[expression TTL](/fr/reference/engines/table-engines/mergetree-family/mergetree#table_engine-mergetree-ttl) pour les tables de la famille MergeTree :
Renvoie `Ok.` même si la table n’existe pas. Renvoie une erreur lorsque la base de données n’existe pas :

```sql theme={null}
SYSTEM START TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]
```

<div id="stop-moves">
  ### SYSTEM STOP MOVES
</div>

Permet d’arrêter les déplacements de données en arrière-plan selon l’[expression TTL de table avec la clause TO VOLUME ou TO DISK](/fr/reference/engines/table-engines/mergetree-family/mergetree#mergetree-table-ttl) pour les tables de la famille MergeTree :
Renvoie `Ok.` même si la table n’existe pas. Renvoie une erreur lorsque la base de données n’existe pas :

```sql theme={null}
SYSTEM STOP MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]
```

<div id="start-moves">
  ### SYSTEM START MOVES
</div>

Permet de lancer en arrière-plan les déplacements de données conformément à l’[expression TTL de table avec les clauses TO VOLUME et TO DISK](/fr/reference/engines/table-engines/mergetree-family/mergetree#mergetree-table-ttl) pour les tables de la famille MergeTree :
Renvoie `Ok.` même si la table n’existe pas. Renvoie une erreur lorsque la base de données n’existe pas :

```sql theme={null}
SYSTEM START MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]
```

<div id="query_language-system-unfreeze">
  ### SYSTEM UNFREEZE
</div>

Supprime de tous les disques la sauvegarde gelée portant le nom spécifié. Pour en savoir plus sur le dégel de parts distinctes, voir [ALTER TABLE table\_name UNFREEZE WITH NAME ](/fr/reference/statements/alter/partition#unfreeze-partition)

```sql theme={null}
SYSTEM UNFREEZE WITH NAME <backup_name>
```

<div id="wait-loading-parts">
  ### SYSTEM WAIT LOADING PARTS
</div>

Attend le chargement de toutes les parts de données d’une table chargées de manière asynchrone (parts de données obsolètes).

```sql theme={null}
SYSTEM WAIT LOADING PARTS [ON CLUSTER cluster_name] [db.]merge_tree_family_table_name
```

<div id="managing-replicatedmergetree-tables">
  ## Gestion des tables ReplicatedMergeTree
</div>

ClickHouse peut gérer les processus de réplication en arrière-plan dans les tables [ReplicatedMergeTree](/fr/reference/engines/table-engines/mergetree-family/replication).

<div id="stop-fetches">
  ### SYSTEM STOP FETCHES
</div>

Permet d'arrêter les opérations de récupération en arrière-plan des parts insérées pour les tables de la famille `ReplicatedMergeTree` :
Renvoie toujours `Ok.`, quel que soit le moteur de table, même si la table ou la base de données n'existe pas.

```sql theme={null}
SYSTEM STOP FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="start-fetches">
  ### SYSTEM START FETCHES
</div>

Permet de lancer les opérations de récupération en arrière-plan des parts insérées pour les tables de la famille `ReplicatedMergeTree` :
Renvoie toujours `Ok.`, quel que soit le moteur de table, même si la table ou la base de données n’existe pas.

```sql theme={null}
SYSTEM START FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="stop-replicated-sends">
  ### SYSTEM STOP REPLICATED SENDS
</div>

Permet d’arrêter les envois en arrière-plan vers d’autres répliques du cluster des nouvelles parts insérées pour les tables de la famille `ReplicatedMergeTree` :

```sql theme={null}
SYSTEM STOP REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="start-replicated-sends">
  ### SYSTEM START REPLICATED SENDS
</div>

Permet de démarrer les envois en arrière-plan vers d’autres répliques du cluster pour les nouvelles parts de données insérées des tables de la famille `ReplicatedMergeTree` :

```sql theme={null}
SYSTEM START REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="stop-replication-queues">
  ### SYSTEM STOP REPLICATION QUEUES
</div>

Permet d'arrêter les tâches de récupération en arrière-plan des files d'attente de réplication stockées dans ZooKeeper pour les tables de la famille `ReplicatedMergeTree`. Types possibles de tâches en arrière-plan - fusions, récupérations, mutations, instructions DDL avec la clause ON CLUSTER :

```sql theme={null}
SYSTEM STOP REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="start-replication-queues">
  ### SYSTEM START REPLICATION QUEUES
</div>

Permet de démarrer les tâches de récupération en arrière-plan depuis les files d’attente de réplication stockées dans ZooKeeper pour les tables de la famille `ReplicatedMergeTree`. Types possibles de tâches en arrière-plan : fusions, récupérations, mutations, instructions DDL avec la clause ON CLUSTER :

```sql theme={null}
SYSTEM START REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="stop-pulling-replication-log">
  ### SYSTEM STOP PULLING REPLICATION LOG
</div>

Arrête le chargement des nouvelles entrées du journal de réplication vers la file d’attente de réplication d’une table `ReplicatedMergeTree`.

```sql theme={null}
SYSTEM STOP PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="start-pulling-replication-log">
  ### SYSTEM START PULLING REPLICATION LOG
</div>

Annule l’effet de `SYSTEM STOP PULLING REPLICATION LOG`.

```sql theme={null}
SYSTEM START PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="sync-replica">
  ### SYSTEM SYNC REPLICA
</div>

Attendez qu'une table `ReplicatedMergeTree` soit synchronisée avec les autres répliques d'un cluster, sans dépasser `receive_timeout` secondes.

```sql theme={null}
SYSTEM SYNC REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name [IF EXISTS] [STRICT | LIGHTWEIGHT [FROM 'srcReplica1'[, 'srcReplica2'[, ...]]] | PULL]
```

Après l’exécution de cette instruction, `[db.]replicated_merge_tree_family_table_name` récupère les commandes du journal répliqué commun dans sa propre file de réplication, puis la requête attend que la réplique traite toutes les commandes récupérées. Les modificateurs suivants sont pris en charge :

* Avec `IF EXISTS` (disponible à partir de la version 25.6), la requête ne renverra pas d’erreur si la table n’existe pas. Cela est utile lors de l’ajout d’une nouvelle réplique à un cluster, lorsqu’elle fait déjà partie de la configuration du cluster mais qu’elle est encore en cours de création et de synchronisation de la table.
* Si un modificateur `STRICT` a été spécifié, la requête attend que la file de réplication soit vide. La version `STRICT` peut ne jamais aboutir si de nouvelles entrées apparaissent constamment dans la file de réplication.
* Si un modificateur `LIGHTWEIGHT` a été spécifié, la requête attend uniquement que les entrées `GET_PART`, `ATTACH_PART`, `DROP_RANGE`, `REPLACE_RANGE` et `DROP_PART` soient traitées.
  De plus, le modificateur LIGHTWEIGHT prend en charge une clause facultative `FROM &#39;srcReplicas&#39;`, où 'srcReplicas' est une liste de noms de répliques sources séparés par des virgules. Cette extension permet une synchronisation plus ciblée en se concentrant uniquement sur les tâches de réplication provenant des répliques sources spécifiées.
* Si un modificateur `PULL` a été spécifié, la requête récupère de nouvelles entrées de la file de réplication depuis ZooKeeper, mais n’attend pas leur traitement.

<div id="sync-database-replica">
  ### SYNCHRONISER LA RÉPLIQUE DE LA BASE DE DONNÉES
</div>

Attend jusqu’à ce que la [base de données répliquée](/fr/reference/engines/database-engines/replicated) spécifiée applique toutes les modifications de schéma de la file d’attente DDL de cette base de données.

**Syntaxe**

```sql theme={null}
SYSTEM SYNC DATABASE REPLICA replicated_database_name;
```

<div id="restart-replica">
  ### SYSTEM RESTART REPLICA
</div>

Permet de réinitialiser l’état de la session ZooKeeper pour la table `ReplicatedMergeTree`, de comparer l’état actuel à celui de ZooKeeper, qui sert de source de référence, et d’ajouter des tâches à la file d’attente ZooKeeper si nécessaire.
L’initialisation de la file d’attente de réplication à partir des données ZooKeeper s’effectue de la même manière que pour l’instruction `ATTACH TABLE`. Pendant une courte période, la table sera indisponible pour toute opération.

```sql theme={null}
SYSTEM RESTART REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name
```

<div id="restore-replica">
  ### SYSTEM RESTORE REPLICA
</div>

Restaure une réplique si les données sont \[potentiellement] présentes, mais que les métadonnées ZooKeeper ont été perdues.

Fonctionne uniquement sur les tables `ReplicatedMergeTree` en mode readonly.

Cette requête peut être exécutée après :

* la perte de la racine ZooKeeper `/` ;
* la perte du chemin des répliques `/replicas` ;
* la perte du chemin d'une réplique individuelle `/replicas/replica_name/`.

La réplique attache les parts trouvées localement et envoie à ZooKeeper des informations à leur sujet.
Les parts présentes sur une réplique avant la perte des métadonnées ne sont pas récupérées de nouveau depuis d'autres répliques si elles ne sont pas obsolètes (la restauration d'une réplique ne signifie donc pas le retéléchargement de toutes les données sur le réseau).

<Note>
  Les parts dans tous les états sont déplacées vers le dossier `detached/`. Les parts actives avant la perte des données (`committed`) sont attachées.
</Note>

<div id="restore-database-replica">
  ### SYSTEM RESTORE DATABASE REPLICA
</div>

Restaure une réplique si des données sont \[éventuellement] présentes, mais que les métadonnées de ZooKeeper sont perdues.

**Syntaxe**

```sql theme={null}
SYSTEM RESTORE DATABASE REPLICA repl_db [ON CLUSTER cluster]
```

**Exemple**

```sql theme={null}
CREATE DATABASE repl_db
ENGINE=Replicated("/clickhouse/repl_db", shard1, replica1);

CREATE TABLE repl_db.test_table (n UInt32)
ENGINE = ReplicatedMergeTree
ORDER BY n PARTITION BY n % 10;

-- zookeeper_delete_path("/clickhouse/repl_db", recursive=True) <- root loss.

SYSTEM RESTORE DATABASE REPLICA repl_db;
```

**Syntaxe**

```sql theme={null}
SYSTEM RESTORE REPLICA [db.]replicated_merge_tree_family_table_name [ON CLUSTER cluster_name]
```

Autre syntaxe :

```sql theme={null}
SYSTEM RESTORE REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name
```

**Exemple**

Création d'une table sur plusieurs serveurs. Après la perte des métadonnées de la réplique dans ZooKeeper, la table sera attachée en lecture seule, faute de métadonnées. La dernière requête doit être exécutée sur chaque réplique.

```sql theme={null}
CREATE TABLE test(n UInt32)
ENGINE = ReplicatedMergeTree('/clickhouse/tables/test/', '{replica}')
ORDER BY n PARTITION BY n % 10;

INSERT INTO test SELECT * FROM numbers(1000);

-- zookeeper_delete_path("/clickhouse/tables/test", recursive=True) <- root loss.

SYSTEM RESTART REPLICA test;
SYSTEM RESTORE REPLICA test;
```

Une autre méthode :

```sql theme={null}
SYSTEM RESTORE REPLICA test ON CLUSTER cluster;
```

<div id="restart-replicas">
  ### SYSTEM RESTART REPLICAS
</div>

Permet de réinitialiser l’état des sessions Zookeeper pour toutes les tables `ReplicatedMergeTree`, de comparer l’état actuel avec celui de Zookeeper, considéré comme source de vérité, et d’ajouter des tâches à la file d’attente de Zookeeper si nécessaire

<div id="drop-filesystem-cache">
  ### SYSTEM CLEAR|DROP FILESYSTEM CACHE
</div>

Permet de supprimer le cache du système de fichiers.

```sql theme={null}
SYSTEM CLEAR FILESYSTEM CACHE [ON CLUSTER cluster_name]
```

<div id="sync-file-cache">
  ### SYSTEM SYNC FILE CACHE
</div>

<Note>
  Cette opération est trop lourde et peut faire l’objet d’une mauvaise utilisation.
</Note>

Exécute l’appel système sync.

```sql theme={null}
SYSTEM SYNC FILE CACHE [ON CLUSTER cluster_name]
```

<div id="load-primary-key">
  ### SYSTEM LOAD PRIMARY KEY
</div>

Charge les clés primaires de la table indiquée ou de toutes les tables.

```sql theme={null}
SYSTEM LOAD PRIMARY KEY [db.]name
```

```sql theme={null}
SYSTEM LOAD PRIMARY KEY
```

<div id="unload-primary-key">
  ### SYSTEM UNLOAD PRIMARY KEY
</div>

Décharge les clés primaires de la table spécifiée ou de toutes les tables.

```sql theme={null}
SYSTEM UNLOAD PRIMARY KEY [db.]name
```

```sql theme={null}
SYSTEM UNLOAD PRIMARY KEY
```

<div id="managing-refreshable-materialized-views">
  ## Gestion des vues matérialisées avec rafraîchissement
</div>

Commandes permettant de contrôler les tâches d'arrière-plan exécutées par les [vues matérialisées avec rafraîchissement](/fr/reference/statements/create/view#refreshable-materialized-view)

Surveillez [`system.view_refreshes`](/fr/reference/system-tables/view_refreshes) lors de leur utilisation.

<div id="stop-view-stop-views">
  ### SYSTEM STOP \[REPLICATED] VIEW, STOP VIEWS
</div>

Désactive l’actualisation périodique de la vue spécifiée ou de toutes les vues actualisables. Si une actualisation est en cours, elle est également annulée.

Si la vue se trouve dans une base de données Replicated ou Shared, `STOP VIEW` n’affecte que la réplique courante, tandis que `STOP REPLICATED VIEW` affecte toutes les répliques.

<Note>
  L’état d’arrêt n’est pas conservé après un redémarrage du serveur. Après redémarrage, les vues reprennent leur planification d’actualisation configurée.
  Dans les bases de données Replicated ou Shared, `SYSTEM STOP VIEW` n’affecte que la réplique courante. Utilisez `SYSTEM STOP REPLICATED VIEW` pour arrêter les actualisations sur toutes les répliques.
</Note>

```sql theme={null}
SYSTEM STOP VIEW [db.]name
```

```sql theme={null}
SYSTEM STOP VIEWS
```

<div id="start-view-start-views">
  ### SYSTEM START \[REPLICATED] VIEW, START VIEWS
</div>

Active l'actualisation périodique pour la vue indiquée ou pour toutes les vues actualisables. Aucun rafraîchissement immédiat n'est déclenché.

Si la vue se trouve dans une base de données Replicated ou Shared, `START VIEW` annule l'effet de `STOP VIEW`, et `START REPLICATED VIEW` annule l'effet de `STOP REPLICATED VIEW`. `START VIEW` annule également l'effet de `PAUSE VIEW`.

```sql theme={null}
SYSTEM START VIEW [db.]name
```

```sql theme={null}
SYSTEM START VIEWS
```

<div id="pause-view-pause-views">
  ### SYSTEM PAUSE VIEW, PAUSE VIEWS
</div>

Désactive le rafraîchissement périodique de la vue spécifiée ou de toutes les vues actualisables.
Contrairement à `SYSTEM STOP VIEW`, `SYSTEM PAUSE VIEW` n’interrompt pas un rafraîchissement déjà en cours : le rafraîchissement en cours peut aller à son terme, et seules les rafraîchissements suivantes sont empêchées.

Pour annuler, utilisez `SYSTEM START VIEW` ou `SYSTEM START VIEWS`.

<Note>
  L’état en pause ne persiste pas après un redémarrage du serveur. Après le redémarrage, les vues reprendront leur planification de rafraîchissement configurée.
  Dans les bases de données Replicated ou Shared, `SYSTEM PAUSE VIEW` n’affecte que la réplique actuelle.
</Note>

```sql theme={null}
SYSTEM PAUSE VIEW [db.]name
```

```sql theme={null}
SYSTEM PAUSE VIEWS
```

<div id="refresh-view">
  ### SYSTEM REFRESH VIEW
</div>

Déclenche un rafraîchissement immédiat d’une vue donnée en dehors de la planification prévue.

```sql theme={null}
SYSTEM REFRESH VIEW [db.]name
```

<div id="wait-view">
  ### SYSTEM WAIT VIEW
</div>

Attend la fin du rafraîchissement en cours. Si aucun rafraîchissement n’est en cours, la commande retourne immédiatement. Si la dernière tentative de rafraîchissement a échoué, elle signale une erreur.

Peut être utilisée juste après la création d’une nouvelle vue matérialisée actualisable (sans le mot-clé EMPTY) pour attendre la fin du rafraîchissement initial.

Si la vue se trouve dans une base de données Replicated ou Shared, et qu’un rafraîchissement est en cours sur une autre réplique, attend la fin de ce rafraîchissement.

```sql theme={null}
SYSTEM WAIT VIEW [db.]name
```

<div id="cancel-view">
  ### SYSTEM CANCEL VIEW
</div>

S'il y a un rafraîchissement en cours pour la vue spécifiée sur la réplique actuelle, interrompez-le et annulez-le. Sinon, ne faites rien.

```sql theme={null}
SYSTEM CANCEL VIEW [db.]name
```

<div id="flush-object-storage-queue">
  ## SYSTEM FLUSH OBJECT STORAGE QUEUE
</div>

Bloque l’exécution jusqu’à ce que le fichier indiqué ait été traité ou ait définitivement échoué dans la table [S3Queue](/fr/reference/engines/table-engines/integrations/s3queue) ou [AzureQueue](/fr/reference/engines/table-engines/integrations/azure-queue) donnée. Renvoie immédiatement si le fichier a déjà été traité. Génère une erreur si le fichier a définitivement échoué (toutes les tentatives de nouvelle exécution ont été épuisées).

```sql theme={null}
SYSTEM FLUSH OBJECT STORAGE QUEUE [db.]table_name PATH 'path'
```
