更新时间:2025-12-10 GMT+08:00
配置ClickHouse回收站功能
场景介绍
ClickHouse提供了回收站功能,当用户由于误操作等原因删除表后,在保留时间(默认2天)内可以从回收站中恢复被删除的表及其数据。
使用约束
- 本章节仅适用于MRS 3.6.0-LTS及之后版本。
- 仅支持删除表且没有带sync或者no delay关键字的场景下在回收站中保留表的元数据及数据。
- 由于回收站需要占用额外的存储空间,需要根据磁盘容量设置合适的保留时间。
参数配置
修改回收站保留时间:
- 登录FusionInsight Manager界面,通过“集群 > 服务 > ClickHouse > 配置 > 全部配置”进入配置界面。通过搜索框,搜索参数“database_atomic_delay_before_drop_table_sec”,修改参数值。
- 单击“保存”,在弹窗页面中单击“确定”,保存配置。单击“实例”,勾选ClickHouseServer实例,选择“更多 > 滚动重启实例”,重启ClickHouseServer实例。
基本语法
- 方法1:恢复已删除的表及其数据。
UNDROP table [database_name.]table_name;
- 方法2:如果有多张已删除的同名表,可以使用UUID恢复指定的表及其数据。
UNDROP table [database_name.]table_name UUID 'uuid';
使用说明
- 使用ClickHouse客户端连接到ClickHouse服务端,具体请参考ClickHouse客户端使用实践。
- 使用select * from system.dropped_tables;命令查询回收站中已删除的表信息:
select * from system.dropped_tables; ┌─index─┬─database─┬─table──┬─uuid───────┬─engine──────────┬─metadata_dropped_path─────┬──table_dropped_time─┐ │ 0 │ test │ test_1 │ 85f8109a-e469-4059-8763-2cc0d0875dfd │ ReplicatedMergeTree │/srv/metadata/metadata_dropped/test.test_1.85f8109a-e469-4059-8763-2cc0d0875dfd.sql │ 2025-03-09 10:08:11 │ │ 1 │ test │ test_1 │ 452559e6-d12a-405b-b6bf-42b6257e3ab4 │ ReplicatedMergeTree │/srv/metadata/metadata_dropped/test.test_1.452559e6-d12a-405b-b6bf-42b6257e3ab4.sql │ 2025-03-09 10:08:28 │ └───┴─────┴──┴──────────────┴─────────────┴─────────────────┴────────────┘
- 恢复已删除的表及其数据:
UNDROP table test.test_1; use test; show tables; ┌─name─┐ │ test_1 │ └────┘
- 使用UUID恢复指定的表及其数据:
UNDROP table test.test_1 UUID '85f8109a-e469-4059-8763-2cc0d0875dfd'; use test; show tables; ┌─name─┐ │ test_1 │ └────┘
父主题: ClickHouse企业级能力增强