RESTORE SNAPSHOT

Restore a snapshot into the cluster.

Synopsis

  1. RESTORE SNAPSHOT repository_name.snapshot_name
  2. { ALL |
  3. METADATA |
  4. TABLE ( table_ident [ PARTITION (partition_column = value [ , ... ])] [, ...] ) |
  5. data_section [, ...] }
  6. [ WITH (restore_parameter [= value], [, ...]) ]

where data_section:

  1. { TABLES |
  2. VIEWS |
  3. USERS |
  4. PRIVILEGES |
  5. ANALYZERS |
  6. UDFS }

Description

Restore one or more tables, partitions, or metadata from an existing snapshot into the cluster. The snapshot must be given as fully qualified reference with repository_name and snapshot_name.

To restore everything, use the ALL keyword.

Single tables (or table partitions) can be restored by using TABLE together with a table_ident and a optional partition reference given the partition_column values.

It is possible to restore all tables using the TABLES keyword. This will restore all tables but will not restore metadata.

To restore only the metadata (including views, users, privileges, analyzers, user-defined-functions, and all cluster settings), instead use the METADATA keyword.

A single metadata group can be restored by using the related data_section keyword.

Additionally, multiple data_section keywords can be used to restore multiple concrete sections at once.

To cancel a restore operation simply drop the tables that are being restored.

Caution

If you try to restore a table that already exists, CrateDB will return an error. However, if you try to restore metadata or cluster settings that already exist, they will be overwritten.

Parameters

repository_name

The name of the repository of the snapshot to restore as ident.

snapshot_name

The name of the snapshot as ident.

table_ident

The name (optionally schema-qualified) of an existing table that is to be restored from the snapshot.

data_section

The section name of the data to be restored. Multiple sections can be selected. A section cannot be combined with the ALL, METADATA, or TABLE keywords.

Clauses

PARTITION

If the table is partitioned, the optional PARTITION clause can be used to restore a snapshot from one partition exclusively.

  1. [ PARTITION ( partition_column = value [ , ... ] ) ]

partition_column

One of the column names used for table partitioning

value

The respective column value.

All partition columns (specified by the PARTITIONED BY clause) must be listed inside the parentheses along with their respective values using the partition_column = value syntax (separated by commas).

Because each partition corresponds to a unique set of partition column row values, this clause uniquely identifies a single partition to restore.

Tip

The SHOW CREATE TABLE statement will show you the complete list of partition columns specified by the PARTITIONED BY clause.

WITH

  1. [ WITH (restore_parameter [= value], [, ...]) ]

The following configuration parameters can be used to modify how the snapshot is restored to the cluster:

ignore_unavailable

(Default false) Per default the restore command fails if a table is given that does not exist in the snapshot. If set to true those missing tables are ignored.

wait_for_completion

(Default: false) By default the request returns once the restore operation started. If set to true the request returns after all selected tables from the snapshot are restored or an error occurred. In order to monitor the restore operation the * sys.shards table can be queried.