Retiring Storage Locations

To retire a storage location, use the RETIRE_LOCATION() function.

The following example shows how to retire a storage location on v_vmartdb_node0004:

=> SELECT RETIRE_LOCATION('/secondStorageLocation/' , 'v_vmartdb_node0004');

To retire a storage location on all nodes, use an empty string ('') for the second parameter.

Retiring a location prevents Vertica from storing data or temp files to it, but does not remove the actual location. Any data previously stored on the retired location is eventually merged out by the Automatic Tuple Mover (ATM) per its policies.

If you plan to drop the storage location after retiring it, you can expedite this by setting the optional enforce-storage-move parameter to true. This setting moves the data out of the storage location instead of waiting for the Tuple Mover, allowing you to drop the location immediately.

You can also use the ENFORCE_OBJECT_STORAGE_POLICY meta-function to trigger the move for all storage locations at once, and then drop the locations. This approach equates to setting enforce-storage-move.

The following example shows how to retire a storage location on all nodes and prepares it for immediate drop:

=> SELECT RETIRE_LOCATION('/secondStorageLocation/' , '', true);

If the location used in a storage policy is the last available storage for its associated objects, you cannot retire it unless you set enforce-storage-move to true.

Data and temp files can be stored in one, or multiple separate, storage locations.

For further information on dropping a location after retiring it, see Dropping Storage Locations.