CANCEL_DEPOT_WARMING
仅限 Eon 模式
取消节点上的存储库预热。仅当节点正在加入数据库并激活其订阅时,才会进行存储库预热。您可以选择取消节点上的所有预热,或者取消特定分片订阅的预热。节点将结束其当前执行的任何数据传输,以对其存储库进行预热,并从其队列中移除与预热相关的待执行传输。它将保留已加载到其存储库中的所有数据。当取消对特定订阅的预热时,如果所有其他订阅都已预热,则将停止预热存储库。如果其他订阅未预热,节点会继续预热其他订阅。
此函数仅在以下情况下有效:
-
数据库在 Eon 模式下运行。
-
节点当前正在预热其存储库。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
CANCEL_DEPOT_WARMING('node-name' [, 'subscription-name'])
参数
-
'node-name'
- 要取消其存储库预热的节点的名称。
-
'subscription-name'
- 希望节点停止预热的节点订阅的分片的名称。您可以在 NODE_SUBSCRIPTIONS 系统表的 SHARD_NAME 列中找到节点订阅的分片的名称。
返回值
返回一条消息,表明预热已被取消。
特权
用户必须是 超级用户。
用法注意事项
取消存储库预热会对查询的性能产生负面影响。具有冷存储库的节点可能需要从公共存储中检索其大部分数据,这比访问存储库要慢。
示例
下面演示了如何取消节点 7 上的存储库预热:
=> SELECT CANCEL_DEPOT_WARMING('v_verticadb_node0007');
CANCEL_DEPOT_WARMING
--------------------------
Depot warming cancelled.
(1 row)