跳到主要内容
版本:Nightly

元数据交互

greptime cli meta 命令可以用于与 GreptimeDB 集群的元数据进行交互。

公共选项

选项描述默认值
--store-addrs <STORE_ADDRS>...元数据存储服务地址。可以是 etcd、postgres 或 mysql。
对于 postgres 存储,格式为:"password=password dbname=postgres user=postgres host=localhost port=5432"
对于 etcd 存储,格式为:"127.0.0.1:2379"
对于 mysql 存储,格式为:"mysql://user:password@ip:port/dbname"
--
--max-txn-ops <MAX_TXN_OPS>单个事务中操作的最大数量。仅在使用 [etcd-store] 时使用128-
--backend <BACKEND>元数据存储后端类型etcd-storeetcd-store, memory-store, postgres-store, mysql-store
--store-key-prefix <STORE_KEY_PREFIX>元数据存储前缀缀--
--meta-table-name <META_TABLE_NAME>元数据存储的表名。元数据存储后端为 [postgres-store] 或 [mysql-store] 时使用greptime_metakv-

获取键值对

命令语法

greptime cli meta get key [OPTIONS] [KEY]

选项

选项描述默认值
--prefix是否执行前缀查询。如果为 true,则返回所有键值对,其中键以给定的前缀开头false
--limit <LIMIT>返回的最大键值对数量。如果为 0,则返回所有键值对0

获取表元数据

命令语法

greptime cli meta get table [OPTIONS]

选项

选项描述默认值
--table-id <TABLE_ID>通过表 ID 获取表元数据-
--table-name <TABLE_NAME>通过表名获取表元数据-
--schema-name <SCHEMA_NAME>所属数据库的名称public
--catalog-name <CATALOG_NAME>所属 catalog 的名称greptime
--pretty美化输出-

删除键值对

命令语法

greptime cli meta del key [OPTIONS] [KEY]

选项

Option描述默认值
--prefix删除具有给定前缀的键值对。false

删除表元数据

命令语法

greptime cli meta del table [OPTIONS]

选项

Option描述默认值
--table-id <TABLE_ID>通过表 ID 获取表元数据-
--table-name <TABLE_NAME>通过表名获取表元数据-
--schema-name <SCHEMA_NAME>表所属数据库的名称public
--catalog-name <CATALOG_NAME>表所属 catalog 的名称greptime

示例

获取单个键值对

greptime cli meta get key --store-addrs=$ENDPOINT \
--backend=postgres-store \
__table_name/greptime/public/metric_table_2

输出:

__table_name/greptime/public/metric_table_2
{"table_id":1059}

获取所有具有给定前缀的键值对

输出:

greptime cli meta get key --prefix \
--store-addrs=$ENDPOINT \
--backend=postgres-store \
__table_name/greptime/public
__table_name/greptime/public/greptime_physical_table
{"table_id":1057}
__table_name/greptime/public/metric_table_1
{"table_id":1058}
__table_name/greptime/public/metric_table_2
{"table_id":1059}

通过表 ID 获取表元数据

greptime cli meta get table --table-id=1059 \
--store-addrs=$ENDPOINT \
--backend=postgres-store

输出:

__table_info/1059
{
"table_info": {
"ident": {
"table_id": 1059,
"version": 0
},
"name": "metric_table_2",
"desc": null,
"catalog_name": "greptime",
"schema_name": "public",
"meta": {
"schema": {
"column_schemas": [
{
"name": "app",
"data_type": {
"String": null
},
"is_nullable": true,
"is_time_index": false,
"default_constraint": null,
"metadata": {}
},
...
],
"timestamp_index": 2,
"version": 0
},
"primary_key_indices": [
0,
...
],
"value_indices": [
3
],
"engine": "metric",
"next_column_id": 8,
"region_numbers": [
0,
...
],
"options": {
"write_buffer_size": null,
"ttl": null,
"skip_wal": false,
"extra_options": {
"on_physical_table": "greptime_physical_table"
}
},
"created_on": "2025-06-17T14:53:14.639207075Z",
"partition_key_indices": []
},
"table_type": "Base"
},
"version": 0
}
__table_route/1059
{
"type": "logical",
"physical_table_id": 1057,
"region_ids": [
4548370366464,
4548370366465,
...
]
}

通过表名获取表元数据

greptime cli meta get table --table-name=metric_table_2 \
--schema-name=public \
--store-addrs=$ENDPOINT \
--backend=postgres-store

输出: 与上述命令的输出相同。

删除不存在的键值对

greptime cli meta del key  --store-addrs=$ENDPOINT \
--backend=postgres-store \
non_existent_key

输出(返回删除的键值对数量):

0

删除键值对

greptime cli meta del key  --store-addrs=$ENDPOINT \
--backend=postgres-store \
__table_name/greptime/public/metric_table_3

输出(返回删除的键值对数量):

1

删除表元数据

greptime cli meta del table --table-id=1059 \
--store-addrs=$ENDPOINT \
--backend=postgres-store

输出:

Table(1059) deleted