SET_OBJECT_STORAGE_POLICY
通过为数据库对象分配一个标记存储位置来创建或更改其存储策略。Tuple Mover 使用此位置存储此对象的新数据和现有数据。如果对象已具有活动存储策略,调用 SET_OBJECT_STORAGE_POLICY
会将此对象的默认存储设置为新的标记位置。对象的现有数据将移动到新位置。
注意
您无法在 USER 类型的存储位置上创建存储策略。这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
SET_OBJECT_STORAGE_POLICY (
'[[database.]schema.]object‑name', 'location‑label'
[,'key‑min', 'key‑max'] [, 'enforce‑storage‑move' ] )
参数
-
[database.]schema
数据库和架构。默认架构为
public
。如果指定一个数据库,它必须是当前数据库。- object‑name
- 识别分配到标记存储位置的数据库对象。object‑name 可以解析为数据库、架构或表。
- location‑label
- object-name 的存储位置的标签。
- key‑min
key‑max - 仅当 object‑name 为表时有效,指定存储在标记位置的表分区键值的范围。
- enforce‑storage‑move
- 指定 Tuple Mover 将 object‑name 的所有现有存储容器移动到标记存储位置的时间:
-
false
(默认值):仅在所有待定合并任务返回后移动存储容器。 -
true
:立即将所有存储容器移动到新位置。
提示
您也可以通过调用 Vertica 元函数ENFORCE_OBJECT_STORAGE_POLICY
立即强制执行所有存储策略 -
特权
以下几项之一:
-
超级用户
-
对象所有者及对其存储位置的访问权限。
示例
请参阅 清除存储策略