华为云云数据库GaussDB重分布函数_云淘科技

以下函数为重分布期间gs_redis工具所用的系统函数,用户不要主动调用:

pg_get_redis_rel_end_ctid(text, name, int, int)
pg_get_redis_rel_start_ctid(text, name, int, int)
pg_enable_redis_proc_cancelable()
pg_disable_redis_proc_cancelable()
pg_tupleid_get_blocknum(tid)
pg_tupleid_get_offset(tid)
pg_tupleid_get_ctid_to_bigint (ctid)

以下函数均针对时序表(当前特性是实验室特性,使用时请联系华为工程师提供技术支持),所指oid均只针对时序表:

redis_ts_table(oid)

描述:以表cpu为例,将old表(redis_old_cpu)的数据逐步转移到新的表(redis_new_cpu),从时间线最后的一个partition开始转移,并在redis_old_cpu的一个partition为空时将此partition删除,在仅余一个partition时将old表删除,并将表恢复至原cpu,为下述job所调用,用户无需手动调用。

返回值类型:void

表1 redis_ts_table参数说明

参数

类型

说明

是否必选

old_oid

oid

redis_old_cpu的标识。

cancel_unuse_redis()

描述:取消时序表(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)重分布。

返回值:void

submit_redis_task(oid, interval)

描述:调用函数redis_ts_table,对一个表只允许调用一个job,如需修改,需要先停止该job,再重新调用。

参数:以表cpu为例,参见表2。

返回值类型:void

表2 submit_redis_task参数说明

参数

类型

说明

是否必选

old_oid

oid

redis_old_cpu的标识。

schedule_interval

interval

用来计算dbe_task.submit中传入的interval_time,代表此job每间隔多长时间执行一次。

submit_all_redis_task(interval)

描述:对于当前连接数据库中所有未完成重分布的表调用函数submit_redis_task。

返回值类型:void

表3 submit_all_redis_task参数说明

参数

类型

说明

是否必选

schedule_interval

interval

与submit_redis_task的入参schedule_interval为一个含义。

cancel_redis_task(oid)

描述:当某表已转移完成,停止该表的转移的job。

参数:以表cpu为例,为redis_old_cpu的oid。

返回值类型:void

cancel_all_redis_task()

描述:对当前连接数据库的所有时序表(当前特性是实验室特性,使用时请联系华为工程师提供技术支持),停止所有在转移的job。

返回值类型:void

submit_cancel_redis_task(interval)

描述:对当前连接数据库的所有时序表(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)创建job,调用函数cancel_redis_task。

参数:间隔多长时间调用此job,默认值1h。

返回值类型:void

flush_depend_rule(oid)

描述:以cpu表为例,如果用户直接对redis_old_cpu表和redis_new_cpu执行了某些sql,原rule不能正常工作,可以通过此函数重建相关rule,当前创建rule的语句在pg_rules系统表中,不建议用户作允许的操作以外的行为,直接在redis_new_cpu和redis_old_cpu上执行sql,可能会造成未知错误。

参数:以表cpu为例,为表cpu的oid。

返回值类型:void

父主题: 函数和操作符

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家