DETACH 语句
使服务器“忘记”一个表、物化视图、字典或数据库的存在。
语法
分离并不会删除表、物化视图、字典或数据库的数据或元数据。如果实体没有被 PERMANENTLY
分离,下一次服务器启动时,服务器将读取元数据并重新调用表/视图/字典/数据库。如果实体被 PERMANENTLY
分离,则不会自动重新调用。
无论一个表、字典或数据库是否被永久分离,您都可以使用 ATTACH 查询重新附加它们。
系统日志表也可以重新附加(例如 query_log
,text_log
等)。其他系统表无法重新附加。下次服务器启动时,服务器将再次调用这些表。
ATTACH MATERIALIZED VIEW
不支持短语法(没有 SELECT
),但您可以通过 ATTACH TABLE
查询来附加它。
请注意,您不能永久分离已经分离的(临时)表。但您可以将其重新附加,然后再次永久分离。
此外,您不能 DROP 被分离的表,或者 CREATE TABLE 使用与永久分离的同名表,或用 RENAME TABLE 查询替换它。
SYNC
修饰符立即执行该操作。
示例
创建一个表:
查询:
结果:
分离表:
查询:
结果:
备注
在 ClickHouse Cloud 中,用户应使用 PERMANENTLY
子句,例如 DETACH TABLE <table> PERMANENTLY
。如果此子句未使用,在集群重启时(例如在升级期间),表将被重新附加。
另见