SET_OBJECT_STORAGE_POLICY
Creates or changes the storage policy of a database object by assigning it a labeled storage location. The Tuple Mover uses this location to store new and existing data for this object. If the object already has an active storage policy, calling SET_OBJECT_STORAGE_POLICY sets this object's default storage to the new labeled location. Existing data for the object is moved to the new location.
Note
You cannot create a storage policy on a USER type storage location.This is a meta-function. You must call meta-functions in a top-level SELECT statement.
Behavior type
VolatileSyntax
SET_OBJECT_STORAGE_POLICY (
'[[database.]schema.]object-name', 'location-label'
[,'key-min', 'key-max'] [, 'enforce-storage-move' ] )
Parameters
[database.]schemaDatabase and schema. The default schema is
public. If you specify a database, it must be the current database.object-name- Identifies the database object assigned to a labeled storage location. The
object-namecan resolve to a database, schema, or table. location-label- The label of
object-name's storage location. key-minkey-max- Valid only if
object-nameis a table, specifies the range of table partition key values to store at the labeled location. enforce-storage-move- Specifies when the Tuple Mover moves all existing storage containers for
object-nameto the labeled storage location:-
false(default): Move storage containers only after all pending mergeout tasks return. -
true: Immediately move all storage containers to the new location.
Tip
You can also enforce all storage policies immediately by calling Vertica meta-functionENFORCE_OBJECT_STORAGE_POLICY -
Privileges
One of the following:
-
Superuser
-
Object owner and access to its storage location.