PERMANENTLY, au prochain démarrage du serveur, celui-ci lira les métadonnées et rattchera de nouveau la table/la vue/le dictionnaire/la base de données. Si une entité a été détachée PERMANENTLY, il n’y aura pas de rattachement automatique.
Qu’une table, un dictionnaire ou une base de données ait été détaché de manière permanente ou non, vous pouvez dans les deux cas les rattacher à l’aide de la requête ATTACH.
Les tables de logs système peuvent également être rattachées (par ex. query_log, text_log, etc.). Les autres tables système ne peuvent pas être rattachées. Au prochain démarrage du serveur, celui-ci rattachera de nouveau ces tables.
ATTACH MATERIALIZED VIEW ne fonctionne pas avec la syntaxe courte (sans SELECT), mais vous pouvez la rattacher à l’aide de la requête ATTACH TABLE.
Notez que vous ne pouvez pas détacher de manière permanente une table déjà détachée (temporairement). En revanche, vous pouvez la rattacher, puis la détacher à nouveau de manière permanente.
De plus, vous ne pouvez pas DROP la table détachée, ni exécuter CREATE TABLE avec le même nom qu’une table détachée de manière permanente, ni la remplacer par une autre table avec la requête RENAME TABLE.
Le modificateur SYNC exécute l’action sans délai.
Exemple
Création d’une table :
Query
Response
Query
Response
Dans ClickHouse Cloud, les utilisateurs doivent utiliser la clause
PERMANENTLY, par exemple DETACH TABLE <table> PERMANENTLY. Si cette clause n’est pas utilisée, les tables seront rattachées au redémarrage du cluster, par exemple lors de mises à niveau.