La requête RESTORE accepte
des paramètres dans sa clause SETTINGS qui déterminent les catégories d’objets lues
depuis une sauvegarde. Cette page décrit les paramètres qui déterminent les éléments restaurés : les données des tables,
les entités d’accès et les fonctions définies par l’utilisateur.
structure_only
Type : Bool. Par défaut : false.
Lorsqu'il est défini sur true, seules les requêtes CREATE sont lues depuis la sauvegarde, à l'exclusion du
contenu des objets restaurés. Il s'agit d'un raccourci pratique qui définit les
valeurs par défaut effectives des trois paramètres de catégorie ci-dessous à false :
restore_table_datarestore_access_entitiesrestore_functions
restore_table_data
Type : Bool. Facultatif ; s’il n’est pas défini, sa valeur par défaut est !structure_only (c.-à-d. true
sauf si structure_only est défini).
Indique si les données des tables doivent être restaurées. Lorsqu’il est défini explicitement, il surcharge
structure_only : définissez-le sur true pour restaurer les données des tables même si
structure_only=true, ou sur false pour les ignorer même si structure_only
n’est pas défini.
restore_access_entities
Type : Bool. Facultatif ; s’il n’est pas défini, sa valeur par défaut est !structure_only.
Indique s’il faut restaurer les entités d’accès — utilisateurs, rôles, profils de paramètres, politiques de lignes
et quotas. Lorsqu’il est défini explicitement, il surcharge structure_only.
restore_functions
Type : Bool. Facultatif ; s’il n’est pas défini, sa valeur par défaut est !structure_only.
Indique si les fonctions définies par l’utilisateur doivent être restaurées. Lorsqu’il est défini explicitement, il surcharge
structure_only.
Comportement effectif
Chaque catégorie est restaurée lorsque le paramètre correspondant est défini sur true. Lorsqu’un paramètre de catégorie
n’est pas spécifié, sa valeur est déterminée par structure_only : les trois sont
définis sur true par défaut et passent tous les trois à false lorsque structure_only=true.
structure_only |
restore_* non défini |
restore_* = true |
restore_* = false |
|---|---|---|---|
false |
restaurée | restaurée | ignorée |
true |
ignorée | restaurée | ignorée |
Cette approche est entièrement rétrocompatible : une requête RESTORE qui ne définit aucun des
nouveaux paramètres se comporte exactement comme auparavant.
Exemples
Restaurez les définitions de tables et les entités d’accès, mais pas les données des tables, par exemple pour configurer un environnement de test ou de réexécution de requêtes sans copier les données :
RESTORE ALL FROM backup_name
SETTINGS structure_only = true, restore_access_entities = trueRestaurez uniquement les données des tables, sans recréer les entités d’accès ni les fonctions définies par l’utilisateur :
RESTORE ALL FROM backup_name
SETTINGS structure_only = true, restore_table_data = trueRestaurez tout, à l’exception des fonctions définies par l’utilisateur :
RESTORE ALL FROM backup_name
SETTINGS restore_functions = false