RESTOREクエリは、SETTINGS句で、バックアップから読み取るオブジェクトのカテゴリを制御する設定を受け取ります。
このページでは、復元する対象 (テーブルデータ、アクセスエンティティ、ユーザー定義関数) を選択する設定について説明します。
structure_only
型: Bool。デフォルト: false。
true に設定すると、復元するオブジェクトの内容を除き、バックアップからは CREATE クエリのみが読み取られます。これは、以下の 3 つのカテゴリ設定の実効デフォルトをすべて false にするための便利なショートカットです。
restore_table_datarestore_access_entitiesrestore_functions
restore_table_data
型: Bool。任意。未設定の場合、デフォルトは !structure_only (つまり、structure_only
が設定されていない限り true) です。
テーブルデータを復元するかどうかを指定します。明示的に設定した場合は
structure_only をオーバーライドします。structure_only=true の場合でもテーブルデータを復元するには
true に設定し、structure_only
が未設定の場合でもテーブルデータをスキップするには false に設定します。
restore_access_entities
型: Bool。任意。設定しない場合、デフォルトは !structure_only です。
ユーザー、ロール、設定プロファイル、行ポリシー、クォータなどのアクセスエンティティを復元するかどうか。明示的に設定した場合は、structure_only をオーバーライドします。
restore_functions
型: Bool。任意。未設定の場合、デフォルトで !structure_only になります。
ユーザー定義関数を復元するかどうかを指定します。明示的に設定すると、
structure_only をオーバーライドします。
実効動作
各カテゴリは、対応する設定が true の場合に復元されます。カテゴリの
設定が指定されていない場合、その値は structure_only から決定されます。デフォルトでは3つすべてが
true であり、structure_only=true の場合は3つすべてが false になります。
structure_only |
restore_* 未設定 |
restore_* = true |
restore_* = false |
|---|---|---|---|
false |
復元される | 復元される | スキップされる |
true |
スキップされる | 復元される | スキップされる |
これは完全に後方互換です。新しい設定をいずれも指定しない RESTORE クエリは、
従来とまったく同じように動作します。
例
テーブル定義とアクセスエンティティを復元し、テーブルデータは復元しません。たとえば、データをコピーせずにクエリのテストや再実行を行う環境をセットアップできます。
RESTORE ALL FROM backup_name
SETTINGS structure_only = true, restore_access_entities = trueアクセスエンティティやユーザー定義関数を再作成せず、テーブルデータのみを復元します:
RESTORE ALL FROM backup_name
SETTINGS structure_only = true, restore_table_data = trueユーザー定義関数以外のすべてを復元します。
RESTORE ALL FROM backup_name
SETTINGS restore_functions = false