取消表的删除操作。
从 ClickHouse 23.3 版本开始,执行 DROP TABLE 后,在 database_atomic_delay_before_drop_table_sec 设置的时间内 (默认 8 分钟) ,可以使用 UNDROP TABLE 恢复 Atomic 数据库中的表。
从 Atomic 数据库删除的表会列在 system.dropped_tables 中。
对于 ClickHouse Cloud 中的 Shared 数据库,此时间段改由 database_shared_drop_table_delay_seconds 控制,默认值为 8 小时。
从 Shared 数据库删除的表不会列在 system.dropped_tables 中。
如果你有一个与已删除表关联且不带 TO 子句的 materialized view,那么还需要对该视图的内部表执行 UNDROP。
语法:
UNDROP TABLE [db.]name [UUID '<uuid>'] [ON CLUSTER cluster]示例
CREATE TABLE tab
(
`id` UInt8
)
ENGINE = MergeTree
ORDER BY id;
DROP TABLE tab;
SELECT *
FROM system.dropped_tables
FORMAT Vertical;Row 1:
──────
index: 0
database: default
table: tab
uuid: aa696a1a-1d70-4e60-a841-4c80827706cc
engine: MergeTree
metadata_dropped_path: /var/lib/clickhouse/metadata_dropped/default.tab.aa696a1a-1d70-4e60-a841-4c80827706cc.sql
table_dropped_time: 2023-04-05 14:12:12
1 row in set. Elapsed: 0.001 sec.UNDROP TABLE tab;
SELECT *
FROM system.dropped_tables
FORMAT Vertical;
```response
Ok.
0 rows in set. Elapsed: 0.001 sec.DESCRIBE TABLE tab
FORMAT Vertical;Row 1:
──────
name: id
type: UInt8
default_type:
default_expression:
comment:
codec_expression:
ttl_expression:相关: DROP、DETACH、ATTACH