跳到主要内容
版本:Nightly

ADMIN

ADMIN 语句用于运行管理函数:

ADMIN function(arg1, arg2, ...)

管理函数

GreptimeDB 提供了一些管理函数来管理数据库和数据:

  • flush_table(table_name) 根据表名将表的 Memtable 刷新到 SST 文件中。
  • flush_region(region_id) 根据 Region ID 将 Region 的 Memtable 刷新到 SST 文件中。通过 PARTITIONS 表查找 Region ID。
  • compact_table(table_name, [type], [options]) 为表启动一个 compaction 任务,详细信息请阅读 compaction
  • compact_region(region_id) 为 Region 启动一个 compaction 任务。
  • migrate_region(region_id, from_peer, to_peer, [timeout]) 在 Datanode 之间迁移 Region,请阅读 Region Migration
  • procedure_state(procedure_id) 根据 ID 查询 Procedure 状态。
  • flush_flow(flow_name) 将 Flow 的输出刷新到目标接收表。
  • reconcile_table(table_name) 修复指定表的元数据不一致问题,详细信息请阅读 table reconciliation
  • reconcile_database(database_name) 修复指定数据库中所有表的元数据不一致问题,详细信息请阅读 table reconciliation
  • reconcile_catalog() 修复整个集群中所有表的元数据不一致问题,详细信息请阅读 table reconciliation
  • gc_table(table_name, [full_file_listing]) 对对象存储中已删除表的孤立 SST 文件进行垃圾回收,返回已处理的 Region 数量。可选参数 full_file_listing(默认为 false),设为 true 时启用全量文件扫描模式。
  • gc_regions(region_id1, ..., region_idN, [full_file_listing]) 根据 Region ID 对对象存储中指定 Region 的孤立 SST 文件进行垃圾回收,返回已处理的 Region 数量。可选参数 full_file_listing(默认为 false),设为 true 时启用全量文件扫描模式。

例如:

-- 刷新表 test --
admin flush_table("test");

-- 为表 test 启动 compaction 任务,默认并行度为 1 --
admin compact_table("test");

-- 启动常规 compaction,并行度设置为 2 --
admin compact_table("test", "regular", "parallelism=2");

-- 启动 SWCS compaction,使用默认时间窗口,并行度设置为 2 --
admin compact_table("test", "swcs", "parallelism=2");

-- 启动 SWCS compaction,自定义时间窗口和并行度 --
admin compact_table("test", "swcs", "window=1800,parallelism=2");

-- 对已删除的表进行垃圾回收 --
admin gc_table("test");

-- 对已删除的表进行垃圾回收(启用全量文件扫描)--
admin gc_table("test", true);

-- 对指定 Region 进行垃圾回收 --
admin gc_regions(1, 2, 3);

-- 对指定 Region 进行垃圾回收(启用全量文件扫描)--
admin gc_regions(1, 2, 3, true);