Запрос RESTORE поддерживает
настройки в предложении SETTINGS, которые определяют, какие категории объектов считываются
из резервной копии. На этой странице описаны настройки, позволяющие выбрать восстанавливаемые данные таблиц,
объекты управления доступом и пользовательские функции.
structure_only
Тип: Bool. Значение по умолчанию: false.
Если задано значение true, из резервной копии считываются только запросы CREATE, без
содержимого восстанавливаемых объектов. Это удобное сокращение, задающее
фактические значения по умолчанию false для всех трёх настроек категорий ниже:
restore_table_datarestore_access_entitiesrestore_functions
restore_table_data
Тип: Bool. Необязательный; если не задан, по умолчанию равен !structure_only (то есть true,
если structure_only не задан).
Определяет, следует ли восстанавливать данные таблиц. При явном задании переопределяет
structure_only: установите true, чтобы восстановить данные таблиц даже при
structure_only=true, или false, чтобы пропустить данные таблиц, даже если structure_only
не задан.
restore_access_entities
Тип: Bool. Необязательный параметр; по умолчанию имеет значение !structure_only.
Определяет, следует ли восстанавливать объекты управления доступом: пользователей, роли, профили настроек, политики строк и квоты. При явном задании переопределяет structure_only.
restore_functions
Тип: Bool. Необязательный; если не задан, по умолчанию равно !structure_only.
Определяет, следует ли восстанавливать пользовательские функции. При явном задании переопределяет
structure_only.
Фактическое поведение
Каждая категория восстанавливается, если соответствующая ей настройка имеет значение true. Если настройка
категории не указана, её значение определяется параметром structure_only: по умолчанию все три настройки имеют значение
true, а при structure_only=true — 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