Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

Обзор синтаксиса gprestore

Павел Семёнов

Утилита gprestore имеет следующий синтаксис:

gprestore --timestamp <YYYYMMDDHHMMSS>
   [--backup-dir <directory>]
   [--copy-queue-size <int>]
   [--create-db]
   [--debug]
   [--exclude-schema <schema> [--exclude-schema <schema> ...]]
   [--exclude-table <schema.table> [--exclude-table <schema.table> ...]]
   [--exclude-table-file <file_name>]
   [--exclude-schema-file <file_name>]
   [--include-schema <schema> [--include-schema <schema> ...]]
   [--include-table <schema.table> [--include-table <schema.table> ...]]
   [--include-schema-file <file_name>]
   [--include-table-file <file_name>]
   [--truncate-table]
   [--redirect-schema <schema>]
   [--resize-cluster]
   [--data-only | --metadata-only]
   [--incremental]
   [--jobs <int>]
   [--on-error-continue]
   [--plugin-config <config_file_location>]
   [--quiet]
   [--redirect-db <database_name>]
   [--verbose]
   [--version]
   [--with-globals]
   [--with-stats]
   [--run-analyze]

gprestore --help

gprestore --version

Опции

Опция Описание

--timestamp <YYYYMMDDHHMMSS>

Метка времени бэкапа, который нужно восстановить. Обязательная опция

--backup-dir <directory>

Абсолютный путь к каталогу с файлами бэкапа. Каталог должен существовать на всех хостах кластера и содержать подкаталоги gpseg<N>/backups для всех сегментов на данном хосте. В этих подкаталогах должны находиться подкаталоги YYYYMMDD/YYYYMMDDHHMMSS, соответствующие указанной метке времени (--timestamp).

ПРИМЕЧАНИЕ

Если каталог содержит только один подкаталог с меткой времени, параметр --timestamp можно не указывать.

По умолчанию Greengage DB ищет файлы бэкапа в следующих местах:

  • На мастере: файлы метаданных в $MASTER_DATA_DIRECTORY/backups/YYYYMMDD/YYYYMMDDHHMMSS.

  • На сегментах: файлы данных в backups/YYYYMMDD/YYYYMMDDHHMMSS внутри каталогов данных сегментов.

Опция несовместима с --plugin-config.

Подробнее см. в разделе Настройка расположения бэкапа

--create-db

Если база данных, указанная в бэкапе, отсутствует в целевом кластере, вызов gprestore с параметром --create-db создаст ее перед восстановлением. Новая база данных создается из шаблона базы данных template0

--copy-queue-size <int>

Задает количество заранее инициализированных команд COPY, используемых для восстановления. Это может ускорить восстановление большого количества небольших таблиц за счет уменьшения накладных расходов на инициализацию COPY. По умолчанию команды COPY инициализируются по одной

--data-only

Восстанавливает только данные таблиц без создания таблиц и других объектов из метаданных. Таблицы уже должны существовать в целевой базе данных. Последовательности, используемые таблицами, обновляются до состояния, соответствующего бэкапу

--debug

Добавляет подробные отладочные сообщения уровней verbose и debug в вывод gprestore

--exclude-schema <schema>

Исключает указанную схему из восстановления. Опцию можно указать несколько раз. Если имя схемы содержит символы, отличные от строчных букв, цифр или подчеркивания, укажите его в двойных кавычках.

Опция несовместима с другими параметрами фильтрации схем (--exclude-schema-file, --include-schema, --include-schema-file) или таблиц (--include-table и др.).

Подробнее см. в разделе Частичное резервное копирование

--exclude-schema-file <file_name>

Исключает схемы, перечисленные в файле, из восстановления. Файл должен содержать по одной схеме в каждой строке, без пустых строк в конце. Если имя схемы содержит символы, отличные от строчных букв, цифр или подчеркивания, укажите его в двойных кавычках.

Опция несовместима с другими параметрами фильтрации схем (--exclude-schema-file, --include-schema, --include-schema-file) или таблиц (--include-table и др.).

Подробнее см. в разделе Частичное резервное копирование

--exclude-table <schema.table>

Исключает из восстановления указанную таблицу или другой объект — последовательность, представление или материализованное представление. Опцию можно указать несколько раз. Имя объекта должно быть в формате <schema>.<table>. Если имя содержит символы, отличные от строчных букв, цифр или подчеркиваний, укажите его в двойных кавычках.

Опция несовместима с опциями исключения схем (--exclude-schema и --exclude-schema-file) и фильтрации таблиц (--include-table и др.).

Для партиционированных таблиц можно исключать только родительскую таблицу.

Подробнее см. в разделе Частичное резервное копирование

--exclude-table-file <file_name>

Исключает из восстановления таблицы и другие объекты — последовательности, представления или материализованные представления — перечисленные в файле. Файл должен содержать по одному объекту в каждой строке, без пустых строк в конце. Имя объекта должно быть в формате <schema>.<table>. Если имя содержит символы, отличные от строчных букв, цифр или подчеркиваний, укажите его в двойных кавычках.

Опция несовместима с опциями исключения схем (--exclude-schema и --exclude-schema-file) и фильтрации таблиц (--include-table и др.).

Для партиционированных таблиц можно исключать только родительскую таблицу.

Подробнее см. в разделе Частичное резервное копирование

--include-schema <schema>

Восстанавливает только указанную схему. Опцию можно указать несколько раз. Если имя схемы содержит символы, отличные от строчных букв, цифр или подчеркиваний, укажите его в двойных кавычках.

Опция несовместима с другими опциями фильтрации схем (--exclude-schema, --exclude-schema-file, --include-schema-file) и таблиц (--include-table, --include-table-file).

Подробнее см. в разделе Частичное резервное копирование

--include-schema-file <file_name>

Восстанавливает только схемы, перечисленные в файле. Файл должен содержать по одной схеме в каждой строке, без пустых строк в конце. Если имя схемы содержит символы, отличные от строчных букв, цифр или подчеркиваний, укажите его в двойных кавычках.

Опция несовместима с другими опциями фильтрации схем (--exclude-schema, --exclude-schema-file, --include-schema-file) и таблиц (--include-table, --include-table-file).

Подробнее см. в разделе Частичное резервное копирование

--include-table <schema.table>

Восстанавливает только указанную таблицу или другой объект — последовательность, представление или материализованное представление. Опцию можно указать несколько раз. Имя объекта должно быть в формате <schema>.<table>. Если имя содержит символы, отличные от строчных букв, цифр или подчеркиваний, укажите его в двойных кавычках.

Опция несовместима с другими опциями фильтрации схем (--exclude-schema и др.) и таблиц (--exclude-table и др.).

gprestore не восстанавливает автоматически объекты, от которых зависит указанный объект. Например:

  • Если таблица, указанная в --include-table, использует последовательность, ее нужно включить явно.

  • Для восстановления материализованного представления включите также таблицы, которые оно использует.

Для партиционированных таблиц можно включать только родительскую таблицу.

Подробнее см. в разделе Частичное резервное копирование

--include-table-file <file_name>

Восстанавливает только таблицы или другие объекты — последовательности, представления или материализованные представления — перечисленные в файле. Файл должен содержать по одному объекту в каждой строке, без пустых строк в конце. Имя объекта должно быть в формате <schema>.<table>. Если имя содержит символы, отличные от строчных букв, цифр или подчеркиваний, укажите его в двойных кавычках.

Опция несовместима с другими опциями фильтрации схем (--exclude-schema и др.) и таблиц (--exclude-table и др.).

gprestore не восстанавливает автоматически объекты, от которых зависит указанный объект. Например:

  • Если таблица, указанная в файле, использует последовательность, ее нужно включить явно.

  • Для восстановления материализованного представления включите также таблицы, которые оно использует.

Для партиционированных таблиц можно включать только родительскую таблицу.

Подробнее см. в разделе Частичное резервное копирование

--incremental

ВНИМАНИЕ

Функция инкрементального восстановления находится в стадии Beta и имеет ограничения. В текущей реализации она не позволяет восстанавливать метаданные и может использоваться только вместе с --data-only.

Восстанавливает данные из инкрементального бэкапа по его метке времени (--timestamp). Другие бэкапы из того же набора игнорируются.

Восстанавливаются данные следующих таблиц:

  • Все heap-таблицы.

  • Оптимизированные для добавления таблицы, измененные после предыдущего бэкапа.

  • Конечные партиции, измененные после предыдущего бэкапа.

Соответствующие таблицы должны существовать в базе данных с той же структурой, что и на момент создания бэкапа.

Подробнее см. в разделе Инкрементальное восстановление

--jobs <int>

Количество заданий, используемых для параллельного восстановления. По умолчанию gprestore использует одно задание с одним подключением и восстанавливает объекты по очереди. При увеличении числа заданий каждое использует собственное подключение, что может ускорить восстановление.

Число заданий нельзя увеличить для однофайловых бэкапов (созданных с gpbackup --single-data-file).

--truncate-table

Очищает таблицы перед восстановлением данных. Используется вместе с --data-only и опцией фильтрации таблиц (--include-table или --include-table-file).

Совместима с --redirect-db; несовместима с --redirect-schema

--redirect-schema <schema>

Восстанавливает объекты в указанную схему вместо их исходных схем. Используется вместе с опциями включения схем (--include-schema, --include-schema-file) или таблиц (--include-table, --include-table-file).

Несовместима с опциями исключения схем или таблиц

--resize-cluster

Восстанавливает базу данных в кластер с количеством сегментов, отличным от исходного кластера

--metadata-only

Восстанавливает только метаданные, то есть создает таблицы и другие объекты из бэкапа без данных. Объекты не должны существовать в целевой базе данных. В комбинации с параметрами включения или исключения может использоваться для создания определенного набора объектов.

Недоступно для бэкапов, созданных без метаданных (с помощью gpbackup --data-only)

--on-error-continue

Продолжает восстановление при ошибках SQL, возникающих при создании таблиц или вставке данных. Другие ошибки прерывают восстановление.

Информация об ошибках сохраняется в файлы:

  • gprestore_<backup-timestamp>_<restore-time>_error_tables_metadata — ошибки восстановления метаданных.

  • gprestore_<backup-timestamp>_<restore-time>_error_tables_data — ошибки восстановления данных.

--plugin-config <config_file_location>

Путь к файлу конфигурации плагина gpbackup, используемому при восстановлении.

Плагины gpbackup расширяют функциональность и позволяют реализовывать пользовательские сценарии бэкапа, например сохранение в удаленные хранилища. Файл конфигурации плагина — это YAML-файл с информацией и настройками плагина, используемыми при восстановлении.

Для восстановления бэкапа, созданного с использованием плагина, требуется тот же плагин.

Опция несовместима с --backup-dir

--quiet

Сокращает вывод до предупреждений и ошибок

--redirect-db <dbname>

Восстанавливает бэкап в указанную базу данных вместо исходной

--verbose

Добавляет подробные сообщения уровня verbose в вывод gprestore

--with-globals

Восстанавливает глобальные объекты Greengage DB: роли, табличные пространства, ресурсные очереди и группы и другие объекты. Бэкап должен быть создан с помощью gpbackup --with-globals

--with-stats

Восстанавливает статистику, включенную в бэкап. Бэкап должен быть создан с помощью gpbackup --with-stats

--run-analyze

Собирает статистику для восстановленных таблиц с помощью ANALYZE. Если бэкап содержит статистику (то есть создан с помощью gpbackup --with-stats), она игнорируется.

Для партиционированных таблиц --run-analyze работает так:

  • Если бэкап создан без --leaf-partition-data, ANALYZE выполняется на родительской таблице.

  • Если бэкап создан с --leaf-partition-data, ANALYZE выполняется на отдельных партициях.

Опция несовместима с --with-stats

--version

Выводит версию gprestore

--help

Показывает справочную информацию о gprestore

Коды возврата

gprestore возвращает следующие коды:

  • 0 — восстановление успешно завершено.

  • 1 — восстановление завершено с некритическими ошибками.

  • 2 — восстановление не выполнено.