ALTER TAG

ALTER TAG语句可以修改标签的结构。例如增删属性、修改数据类型,也可以为属性设置、修改TTL(Time-To-Live)。

前提条件

  • 登录的用户必须拥有对应权限才能执行ALTER TAG语句。详情请参见内置角色权限

  • 确保要修改的属性不包含索引,否则ALTER TAG时会报冲突错误[ERROR (-8)]: Conflict!。删除索引请参见drop index

语法

  1. ALTER TAG <tag_name>
  2. <alter_definition> [, alter_definition] ...]
  3. [ttl_definition [, ttl_definition] ... ];
  4. alter_definition:
  5. | ADD (prop_name data_type)
  6. | DROP (prop_name)
  7. | CHANGE (prop_name data_type)
  8. ttl_definition:
  9. TTL_DURATION = ttl_duration, TTL_COL = prop_name
  • tag_name:指定要修改的标签名称。一次只能修改一个标签。请确保要修改的标签在当前工作空间中存在,否则会报错。

  • 可以在一个ALTER TAG语句中使用多个ADDDROPCHANGE子句,子句之间用英文逗号(,)分隔。

示例

  1. nebula> CREATE TAG t1 (p1 string, p2 int);
  2. nebula> ALTER TAG t1 ADD (p3 int, p4 string);
  3. nebula> ALTER TAG t1 TTL_DURATION = 2, TTL_COL = "p2";

修改标签说明

尝试使用刚修改的标签可能会失败,因为修改是异步实现的。

Nebula Graph将在下一个心跳周期内完成标签的修改,为了确保修改成功,可以使用如下方法之一:

  • DESCRIBE TAG语句的结果中查看标签信息,确认修改成功。如果没有修改成功,请等待几秒重试。

  • 等待两个心跳周期,例如20秒。

如果需要修改心跳间隔,请为所有配置文件修改参数heartbeat_interval_secs