DO_TM_TASK
运行 Tuple Mover (TM) 操作并提交当前事务。您可以将此操作限定于特定表或投影。开始使用此函数时,TM 会使用 GENERAL 资源池而不是 TM 资源池。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
DO_TM_TASK('task'[, '[[database.]schema.]{ table | projection}]' )
参数
-
task
- 指定以下 Tuple Mover 操作之一:
-
reshardmergeout
:重新调整存储容器,使其符合通过 RESHARD_DATABASE 调用创建的分片定义。指定表或投影以及分区值范围,限制reshardmergeout
操作的范围。 -
analyze_row_count
:收集一组最少的统计信息并聚合指定投影的行计数,然后将其保存在数据库编录中。收集指定投影中的行数。如果指定一个表名,DO_TM_TASK 会返回该表所有投影的行计数。有关详细信息,请参阅分析行计数。 -
update_storage_catalog
(仅推荐用于 Eon 模式):使用捆绑表数据的元数据更新编录。有关详细信息,请参阅将捆绑包元数据写入编录。
-
[database.]schema
数据库和架构。默认架构为
public
。如果指定一个数据库,它必须是当前数据库。-
table | projection
- 将 task 应用到指定表或投影。如果指定了投影,但未查找到该投影,则 DO_TM_TASK 会查找具有该名称的表,如果能够找到,则会将任务应用至该表及与该表相关联的所有投影。
如果未指定表或投影,则会将该任务应用于所有数据库表及其投影。
特权
-
架构:USAGE
-
表:INSERT、UPDATE 或 DELETE 之一
示例
以下示例对表中的所有投影执行合并:
=> SELECT DO_TM_TASK('mergeout', 't1');
您可以对表的一系列分区执行重新分片合并任务:
=> SELECT DO_TM_TASK('reshardmergeout', 'store_orders', '2001', '2005');