Использование ADBM CLI
Обзор
Начиная с версии 2.0.4 Arenadata DB Backup Manager поддерживает интерфейс командной строки для управления бэкапами — ADBM CLI. ADBM CLI устанавливается автоматически в Enterprise-версии ADB вместе с сервисом ADBM. Для использования ADBM CLI необходимо подключиться к master-хосту ADB под пользователем gpadmin
и запустить adbm
:
$ sudo su - gpadmin
$ adbm <command_name> <command_options>
где:
-
<command_name>
— имя команды. Все поддерживаемые команды подробно описаны ниже. -
<command_options>
— опции выбранной команды.
Для просмотра текущей версии ADBM CLI можно запустить adbm --version | -v
:
$ adbm -v
Результат:
adbm-cli-2.0.4
ВАЖНО
|
backup repo-config create
Команда adbm backup repo-config create
создает конфигурацию репозитория на основе переданных опций. Конфигурации репозиториев используются в дальнейшем при создании конфигураций бэкапов с помощью команды backup config create.
Синтаксис:
$ adbm backup repo-config create \
--backup-format | -f <backupFormat> \
--repo-type <repoType> \
[--repo-path <repoPath>] \
[--file <file>] \
[--log-level <logLevel>] \
[--log-path <logPath>] \
[--help | -h]
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--repo-type |
Тип репозитория, используемого для хранения данных. Возможные значения:
|
Да |
— |
--repo-path |
Директория для хранения всех данных бэкапа (файлов с данными и метаданными)
. Не следует заполнять, если используется |
Да, если |
— |
--file |
Путь к файлу JSON, содержащему конфигурационные параметры репозитория. При заполнении опции параметры берутся из файла. См. Параметры JSON-файла ниже |
Да, если |
— |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
Параметры JSON-файла (--file
) зависят от выбранного типа репозитория (--repo-type
).
Шаблон:
{
"bucket": "string",
"endpoint": "string",
"region": "string",
"keyType": "string(enum)",
"key": "string",
"keySecret": "string",
"caFile": "string",
"uriType": "string(enum)",
"path": "string"
}
Поле | Описание | Обязательность |
---|---|---|
bucket |
Бакет в S3-хранилище |
Да |
endpoint |
Конечная точка (endpoint) для S3-хранилища |
Да |
region |
Регион S3-хранилища |
Да |
keyType |
Тип ключа S3-хранилища:
|
Да |
key |
Ключ S3-хранилища |
Да |
keySecret |
Секретный ключ S3-хранилища |
Да |
caFile |
PEM-файл от доверенного центра сертификации (Certificate Authority, CA) S3-хранилища |
Да |
uriType |
Тип конечной точки S3-хранилища (см.
|
Да |
path |
Репозиторий, в котором будут храниться бэкапы и архив WAL-сегментов |
Да |
Шаблон:
{
"hostname": "string",
"username": "string",
"password": "string",
"storageUnit": "string",
"directory": "string",
"writeBufferSize": integer,
"readBufferSize": integer,
"executablePath": "string"
}
Поле | Описание | Обязательность |
---|---|---|
hostname |
IP-адрес или имя хоста, обеспечивающего работу с DDBoost |
Да |
username |
Имя пользователя, которому выданы права для работы с DDBoost. Пользователь конфигурируется на стороне DDBoost, это не пользователь операционной системы или ADB |
Да |
password |
Пароль пользователя, которому выданы права для работы с DDBoost |
Да |
storageUnit |
Наименование storage unit, конфигурируемого на стороне DDBoost |
Да |
directory |
Директория в файловой системе DDBoost, в которую будут сохраняться все файлы, создаваемые в рамках резервного копирования БД с помощью утилиты gpbackup. При создании каждого бэкапа плагин автоматически создает все вложенные каталоги в /<storage_unit>/<directory>, соответствующие дате и времени создания бэкапа: /<storage_unit>/<directory>/YYYYMMDD/YYYYMMDDHHmmSS/ |
Да |
writeBufferSize |
Размер буфера записи данных в DDBoost (в байтах) . Допустимый диапазон значений: 64 <= writeBufferSize <= 1048576 |
Да |
readBufferSize |
Размер буфера чтения данных из DDBoost (в байтах) . Допустимый диапазон значений: 64 <= readBufferSize <= 1048576 |
Да |
executablePath |
Абсолютный путь к плагину в файловой системе хостов ADB (вместе с именем исполняемого файла плагина). Плагин должен быть размещен на всех хостах кластера в одном и том же каталоге . По умолчанию плагин устанавливается по следующему пути: $GPHOME/bin/adb_ddp_plugin |
Нет |
В выводе команды отображается идентификатор запущенного действия в ADBM в следующем формате:
Action id = <actionId>
Успешный результат команды также содержит идентификатор созданной конфигурации репозитория:
Backup repository configuration <repoConfigId> created
$ adbm backup repo-config create --backup-format logical --repo-path /dasha --repo-type posix
Результат:
Create backup repository configuration in progress. Action id = afd1f77f-6060-4f28-b3bb-94ee3515a48f. Performing "Start 'Create logical backup repository configuration' action".done Backup repository configuration 1 created
-
Создайте JSON-файл с конфигурационными параметрами:
$ vi s3.json
{ "bucket": "test", "endpoint": "storage.yandexcloud.net", "region": "ru-central1", "keyType": "shared", "key": "XXXXXXXXXXXXXXXXXXXX", "keySecret": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "caFile": "test.pem", "uriType": "host", "path": "/test" }
-
Запустите следующую команду для создания конфигурации репозитория:
$ adbm backup repo-config create --backup-format logical --repo-type s3 --file s3.json
Результат:
Create backup repository configuration in progress. Action id = 8dc913ca-4595-452f-8c37-2a483c7032a6. Performing "Start 'Create logical backup repository configuration' action".done Backup repository configuration 9 created
backup repo-config ls
Команда adbm backup repo-config ls
выводит список существующих конфигураций репозиториев (предварительно созданных с помощью команды backup repo-config create).
Синтаксис:
$ adbm backup repo-config ls \
--backup-format | -f <backupFormat> \
[--repo-config-id | -rc <repoConfigId>] \
[--log-level <logLevel>] \
[--log-path <logPath>] \
[--help | -h]
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--repo-config-id | -rc |
Идентификатор конфигурации репозитория. Если опция заполнена, команда возвращает информацию только для выбранной конфигурации. Идентификатор возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls |
Нет |
— |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
Команда возвращает JSON-файл со списком существующих конфигураций репозиториев. Набор полей каждой конфигурации определяется типом репозитория.
Шаблон:
[
{
"id" : integer,
"repoType" : "cifs",
"cifs" : {
"id" : integer,
"path" : "string"}
},
{
"id" : integer,
"repoType" : "s3",
"s3" : {
"id" : integer,
"path" : "string",
"bucket": "string",
"endpoint": "string",
"region": "string",
"keyType": "string(enum)",
"key": "string",
"keySecret": "string",
"caFile": "string",
"uriType": "string(enum)",
"path": "string"}
},
{
"id" : integer,
"repoType" : "posix",
"posix" : {
"id" : integer,
"path" : "string"}
},
{
"id" : integer,
"repoType" : "dds",
"dds": {
"id" : integer,
"path" : "string",
"hostname": "string",
"username": "string",
"password": "string",
"storageUnit": "string",
"directory": "string",
"writeBufferSize": integer,
"readBufferSize": integer,
"executablePath": "string"}
}
]
Поля JSON
Поле | Описание |
---|---|
id |
Идентификатор конфигурации репозитория. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls |
repoType |
Тип репозитория, используемого для хранения данных — |
cifs.id |
Идентификатор конфигурации репозитория cifs |
cifs.path |
Директория для хранения всех данных бэкапа (файлов с данными и метаданными) |
Поле | Описание |
---|---|
id |
Идентификатор конфигурации репозитория. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls |
repoType |
Тип репозитория, используемого для хранения данных — |
s3.id |
Идентификатор конфигурации репозитория s3 |
s3.path |
Репозиторий, в котором будут храниться бэкапы и архив WAL-сегментов |
s3.bucket |
Бакет в S3-хранилище |
s3.endpoint |
Конечная точка (endpoint) для S3-хранилища |
s3.region |
Регион S3-хранилища |
s3.keyType |
Тип ключа S3-хранилища:
|
s3.key |
Ключ S3-хранилища |
s3.keySecret |
Секретный ключ S3-хранилища |
s3.caFile |
PEM-файл от доверенного центра сертификации (Certificate Authority, CA) S3-хранилища |
s3.uriType |
Тип конечной точки S3-хранилища (см.
|
Поле | Описание |
---|---|
id |
Идентификатор конфигурации репозитория. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls |
repoType |
Тип репозитория, используемого для хранения данных — |
posix.id |
Идентификатор конфигурации репозитория posix |
posix.path |
Директория для хранения всех данных бэкапа (файлов с данными и метаданными) |
Поле | Описание |
---|---|
id |
Идентификатор конфигурации репозитория. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls |
repoType |
Тип репозитория, используемого для хранения данных — |
dds.id |
Идентификатор конфигурации репозитория Data Domain Storage |
dds.path |
Директория для хранения всех данных бэкапа (файлов с данными и метаданными) |
dds.hostname |
IP-адрес или имя хоста, обеспечивающего работу с DDBoost |
dds.username |
Имя пользователя, которому выданы права для работы с DDBoost. Пользователь конфигурируется на стороне DDBoost, это не пользователь операционной системы или ADB |
dds.password |
Пароль пользователя, которому выданы права для работы с DDBoost |
dds.storageUnit |
Наименование storage unit, конфигурируемого на стороне DDBoost |
dds.directory |
Директория в файловой системе DDBoost, в которую будут сохраняться все файлы, создаваемые в рамках резервного копирования БД с помощью утилиты gpbackup. При создании каждого бэкапа плагин автоматически создает все вложенные каталоги в /<storage_unit>/<directory>, соответствующие дате и времени создания бэкапа: /<storage_unit>/<directory>/YYYYMMDD/YYYYMMDDHHmmSS/ |
dds.writeBufferSize |
Размер буфера записи данных в DDBoost (в байтах) |
dds.readBufferSize |
Размер буфера чтения данных из DDBoost (в байтах) |
dds.executablePath |
Абсолютный путь к плагину в файловой системе хостов ADB (вместе с именем исполняемого файла плагина). Плагин должен быть размещен на всех хостах кластера в одном и том же каталоге |
$ adbm backup repo-config ls --backup-format logical
Результат:
[ {
"id" : 1,
"repoType" : "posix",
"posix" : {
"id" : 1,
"path" : "/dasha"
}
}, {
"id" : 9,
"repoType" : "s3",
"s3" : {
"id" : 1,
"path" : "/test",
"bucket" : "test",
"endpoint" : "storage.yandexcloud.net",
"region" : "ru-central1",
"keyType" : "shared",
"key" : "XXXXXXXXXXXXXXXXXXXX",
"keySecret" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"caFile" : "test.pem",
"uriType" : "host"
}
} ]
backup repo-config delete
Команда adbm backup repo-config delete
позволяет удалить выбранную конфигурацию репозитория (предварительно созданную с помощью команды backup repo-config create).
Синтаксис:
$ adbm backup repo-config delete \
--backup-format | -f <backupFormat> \
--repo-config-id | -rc <repoConfigId> \
[-a]
[--log-level <logLevel>]
[--log-path <logPath>]
[--help | -h]
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--repo-config-id | -rc |
Идентификатор конфигурации репозитория, которую необходимо удалить. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls |
Да |
— |
-a |
Определяет необходимость автоматического запуска команды (без подтверждения со стороны пользователя) |
Нет |
false |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
В выводе команды отображается идентификатор запущенного действия в ADBM в следующем формате:
Action id = <actionId>
Успешный результат команды также содержит идентификатор удаленной конфигурации репозитория:
Deletion of <repoConfigId> completed
$ adbm backup repo-config delete --backup-format logical --repo-config-id 3
Результат:
Are you sure you want to delete logical backup repository configuration? (y/n):y Delete backup repository configuration in progress. Action id = 36e2b9d2-e8a3-4e5f-a0e3-ab1fad401f52. Performing "Start 'Delete logical backup repository configuration' action".done Deletion of 3 completed
backup config create
Команда adbm backup config create
создает новую конфигурацию бэкапа на основе переданных опций. Конфигурации бэкапов могут быть использованы в дальнейшем при создании бэкапов с помощью команды backup create.
Синтаксис:
$ adbm backup config create \
--backup-format | -f <backupFormat> \
--repo-config-id | -rc <repoConfigId> \
[--file <file>] \
[--log-level <logLevel>] \
[--log-path <logPath>] \
[--help | -h]
ВАЖНО
В случае отсутствия опции |
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--repo-config-id | -rc |
Идентификатор конфигурации репозитория, которую необходимо использовать для создания конфигурации бэкапа. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls |
Да |
— |
--file |
Путь к JSON-файлу, содержащему конфигурационные параметры. При заполнении опции параметры берутся из файла. См. Параметры JSON-файла ниже |
Нет |
— |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
Шаблон:
{
"compressionLevel": integer,
"compressionType": "string(enum)",
"copyQueueSize": integer,
"jobs": integer,
"pluginConfig": "string",
"excludeSchema": [
"string"
],
"excludeTable": [
"string"
],
"excludeSchemaFile": "string",
"excludeTableFile": "string",
"includeSchema": [
"string"
],
"includeTable": [
"string"
],
"includeSchemaFile": "string",
"includeTableFile": "string",
"isDataOnly": boolean,
"isDebug": boolean,
"isIncremental": boolean,
"isWithoutGlobals": boolean,
"isLeafPartitionData": boolean,
"isMetadataOnly": boolean,
"isNoCompression": boolean,
"isNoInherits": boolean,
"isNoHistory": boolean,
"isSingleDataFile": boolean,
"isWithStats": boolean,
"isMultiFormatBackups": boolean
}
Поле | Описание | По умолчанию |
---|---|---|
compressionLevel |
Уровень сжатия данных. Возможные значения: Если значение опции не указано, gpbackup использует уровень сжатия данных |
1 |
compressionType |
Способ сжатия данных. Возможные значения:
Если значение опции не указано, gpbackup использует метод компрессии |
gzip |
copyQueueSize |
Определяет количество команд Может использоваться только совместно с опцией |
— |
jobs |
Количество параллельных соединений, используемых при создании бэкапа. По умолчанию используется одно соединение. Увеличение этого параметра может повысить скорость создания бэкапа. Не допускается комбинировать с опциями |
1 |
pluginConfig |
Путь к конфигурационному файлу плагина gpbackup в формате YAML. Если опция Не допускается комбинировать с опцией |
— |
excludeSchema |
Массив схем для исключения из бэкапа. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
excludeTable |
Массив таблиц для исключения из бэкапа. Каждая таблица определяется в формате При указании в массиве имени листовой партиции партиционированной таблицы утилита gpbackup ее игнорирует. Листовая партиция не исключается. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
excludeSchemaFile |
Путь к текстовому файлу, содержащему список схем для исключения из бэкапа. Каждая строка файла определяет имя одной схемы. В файле не должно быть пустых строк. Если имя схемы содержит символы, отличные от букв в нижнем регистре, цифр и знаков нижнего подчеркивания — необходимо поместить их в двойные кавычки. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
excludeTableFile |
Путь к текстовому файлу, содержащему список таблиц для исключения из бэкапа. Каждая строка файла определяет имя одной таблицы в формате При указании в файле имени листовой партиции партиционированной таблицы утилита gpbackup ее игнорирует. Листовая партиция не исключается. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
includeSchema |
Массив схем для включения в бэкап. Прочие схемы исключаются из бэкапа. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
includeTable |
Массив таблиц для включения в бэкап. Прочие таблицы исключаются из бэкапа. Каждая таблица заполняется в формате Наряду с таблицами, можно также перечислить последовательности, представления и метариализованные представления. В этом случае в массиве требуется также явно указать все зависимые объекты, необходимые для восстановления. Опционально в опции можно перечислить имена листовых партиций для включения в бэкап только определенных партиций — если используется опция Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
includeSchemaFile |
Путь к текстовому файлу, содержащему список схем для включения в бэкап. Прочие схемы исключаются из бэкапа. Каждая строка файла определяет имя одной схемы. В файле не должно быть пустых строк. Если имя схемы содержит символы, отличные от букв в нижнем регистре, цифр и знаков нижнего подчеркивания — необходимо поместить их в двойные кавычки. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
includeTableFile |
Путь к текстовому файлу, содержащему список таблиц для включения в бэкап. Прочие таблицы исключаются из бэкапа. Каждая строка файла определяет имя одной таблицы в формате Наряду с таблицами, можно также перечислить последовательности, представления и метариализованные представления. В этом случае в файле требуется также явно указать все зависимые объекты, необходимые для восстановления. Опционально в опции можно перечислить имена листовых партиций для включения в бэкап только определенных партиций — если используется опция Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
isDataOnly |
Определяет, бэкапировать ли только табличные данные без метаданных, которые требуются для создания таблиц и других объектов БД |
false |
isDebug |
Определяет, показывать ли отладочные сообщения во время создания бэкапа |
false |
isIncremental |
Определяет необходимость создания инкрементного бэкапа |
false |
isWithoutGlobals |
Определяет, необходимо ли исключить глобальные системные объекты из бэкапа |
false |
isLeafPartitionData |
Для партиционированных таблиц определяет необходимость создания отдельного файла данных на каждую листовую партицию вместо общего файла на всю таблицу |
false |
isMetadataOnly |
Определяет, формировать ли только файлы с метаданными (DDL), необходимыми для создания таблиц и других объектов БД, без самих данных |
false |
isNoCompression |
Определяет, исключить ли сжатие CSV-файлов с табличными данными |
false |
isNoInherits |
При установке флага в бэкап включаются метаданные самих таблиц, отношения наследования с другими таблицами игнорируются. Используется только в комбинации с опцией |
false |
isNoHistory |
При установке флага утилита gpbackup не записывает метаданные бэкапа в базу данных с историей |
false |
isSingleDataFile |
Определяет необходимость создания одного общего файла с данными на сегмент-хосте для всех таблиц, которые бэкапируются в текущем сегменте. По умолчанию gpbackup создает один CSV-файл для каждой бэкапируемой таблицы в сегменте |
false |
isWithStats |
Определяет, включать ли статистику плана запросов в бэкап |
false |
isMultiFormatBackups |
Определяет одновременный запуск логических и бинарных бэкапов |
false |
ПРИМЕЧАНИЕ
Все поля в JSON-файле опциональны.
|
В выводе команды отображается идентификатор запущенного действия в ADBM в следующем формате:
Action id = <actionId>
Успешный результат команды также содержит идентификатор созданной конфигурации бэкапов:
Backup configuration <backupConfigId> created
-
Запустите следующую команду для создания конфигурации бэкапа:
$ adbm backup config create --repo-config-id 1 --backup-format logical
Результат:
Create backup configuration in progress. Action id = 745a2a51-1593-4511-a98f-69260fc22227. Performing "Start 'Create logical backup configuration' action".done Backup configuration 2 created
-
Убедитесь, что параметрам созданной конфигурации присвоены дефолтные значения, т.к. опция
--file
не использовалась при вызове команды. Для этого запустите команду backup config ls:$ adbm backup config ls --backup-format logical --config-id 2
Результат:
{ "id" : 2, "repoConfigId" : 1, "configParams" : { "excludeSchema" : [ ], "excludeTable" : [ ], "includeSchema" : [ ], "includeTable" : [ ], "isDataOnly" : false, "isDebug" : false, "isIncremental" : false, "isWithoutGlobals" : false, "isLeafPartitionData" : false, "isMetadataOnly" : false, "isNoCompression" : false, "isNoInherits" : false, "isNoHistory" : false, "isSingleDataFile" : false, "isWithStats" : false, "isMultiFormatBackups" : false } }
-
Создайте JSON-файл с конфигурационными параметрами:
$ vi backup-conf.json
{ "compressionLevel": 1, "compressionType": "gzip", "includeSchema": [ "public" ] }
-
Запустите следующую команду для создания конфигурации бэкапа:
$ adbm backup config create --repo-config-id 1 --backup-format logical --file backup-conf.json
Результат:
Create backup configuration in progress. Action id = 073fdb77-4a11-43fb-b643-905b56152643. Performing "Start 'Create logical backup configuration' action".done Backup configuration 3 created
-
Убедитесь, что указанные в файле параметры применились к созданной конфигурации, запустив команду backup config ls:
$ adbm backup config ls --backup-format logical --config-id 3
Результат:
{ "id" : 3, "repoConfigId" : 1, "configParams" : { "compressionLevel" : 1, "compressionType" : "gzip", "excludeSchema" : [ ], "excludeTable" : [ ], "includeSchema" : [ "public" ], "includeTable" : [ ], "isDataOnly" : false, "isDebug" : false, "isIncremental" : false, "isWithoutGlobals" : false, "isLeafPartitionData" : false, "isMetadataOnly" : false, "isNoCompression" : false, "isNoInherits" : false, "isNoHistory" : false, "isSingleDataFile" : false, "isWithStats" : false, "isMultiFormatBackups" : false } }
backup config ls
Команда adbm backup config ls
выводит список существующих конфигураций бэкапов (предварительно созданных с помощью команды backup config create).
Синтаксис:
$ adbm backup config ls \
--backup-format | -f <backupFormat> \
[--config-id | -c <backupConfigId>] \
[--log-level <logLevel>] \
[--log-path <logPath>] \
[--help | -h]
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--config-id | -c |
Идентификатор конфигурации бэкапа. Если опция заполнена, команда возвращает данные только для выбранной конфигурации. Возвращается как результат выполнения команды backup config create и может быть извлечен с помощью команды backup config ls |
Нет |
— |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
Команда возвращает JSON-файл со списком существующих конфигураций бэкапов.
Шаблон:
[ {
"id" : integer,
"repoConfigId" : integer,
"configParams" : {
"compressionLevel": integer,
"compressionType": "string(enum)",
"copyQueueSize": integer,
"jobs": integer,
"pluginConfig": "string",
"excludeSchema": [
"string"
],
"excludeTable": [
"string"
],
"excludeSchemaFile": "string",
"excludeTableFile": "string",
"includeSchema": [
"string"
],
"includeTable": [
"string"
],
"includeSchemaFile": "string",
"includeTableFile": "string",
"isDataOnly": boolean,
"isDebug": boolean,
"isIncremental": boolean,
"isWithoutGlobals": boolean,
"isLeafPartitionData": boolean,
"isMetadataOnly": boolean,
"isNoCompression": boolean,
"isNoInherits": boolean,
"isNoHistory": boolean,
"isSingleDataFile": boolean,
"isWithStats": boolean,
"isMultiFormatBackups": boolean
}
} ]
Поле | Описание |
---|---|
id |
Идентификатор конфигурации бэкапа. Возвращается как результат выполнения команды backup config create и может быть извлечен с помощью команды backup config ls |
repoConfigId |
Идентификатор конфигурации репозитория. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls |
configParams |
Конфигурационные параметры, использованные при создании конфигурации бэкапа. Информацию по каждому доступному параметру можно получить в разделе Параметры JSON-файла из описания команды Полностью параметры отображаются только в случае, если команда запускается для конкретной конфигурации (с установленной опцией |
$ adbm backup config ls --backup-format logical
Результат:
[ {
"id" : 2,
"repoConfigId" : 1,
"configParams" : {
"excludeSchema" : [ ],
"excludeTable" : [ ],
"includeSchema" : [ ],
"includeTable" : [ ]
}
}, {
"id" : 3,
"repoConfigId" : 1,
"configParams" : {
"compressionLevel" : 1,
"compressionType" : "gzip",
"excludeSchema" : [ ],
"excludeTable" : [ ],
"includeSchema" : [ "public" ],
"includeTable" : [ ]
}
} ]
$ adbm backup config ls --backup-format logical --config-id 3
Результат:
{
"id" : 3,
"repoConfigId" : 1,
"configParams" : {
"compressionLevel" : 1,
"compressionType" : "gzip",
"excludeSchema" : [ ],
"excludeTable" : [ ],
"includeSchema" : [ "public" ],
"includeTable" : [ ],
"isDataOnly" : false,
"isDebug" : false,
"isIncremental" : false,
"isWithoutGlobals" : false,
"isLeafPartitionData" : false,
"isMetadataOnly" : false,
"isNoCompression" : false,
"isNoInherits" : false,
"isNoHistory" : false,
"isSingleDataFile" : false,
"isWithStats" : false,
"isMultiFormatBackups" : false
}
}
backup config delete
Команда adbm backup config delete
позволяет удалить выбранную конфигурацию бэкапа (предварительно созданную с помощью команды backup config create).
Синтаксис:
$ adbm backup config delete \
--backup-format | -f <backupFormat> \
--config-id | -c <backupConfigId> \
[-a]
[--log-level <logLevel>]
[--log-path <logPath>]
[--help | -h]
ВАЖНО
Удаление последней созданной конфигурации запрещено. При попытке совершения этой операции возвращается ошибка: The last logical backup config cannot be deleted |
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--config-id | -c |
Идентификатор конфигурации бэкапа, которую необходимо удалить. Возвращается как результат выполнения команды backup config create и может быть извлечен с помощью команды backup config ls |
Да |
— |
-a |
Определяет необходимость автоматического запуска команды (без подтверждения со стороны пользователя) |
Нет |
false |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
В выводе команды отображается идентификатор запущенного действия в ADBM в следующем формате:
Action id = <actionId>
Успешный результат команды также содержит идентификатор удаленной конфигурации бэкапа:
Deletion of <backupConfigId> completed
$ adbm backup config delete --backup-format logical --config-id 1
Результат:
Are you sure you want to delete logical backup configuration? (y/n):y Delete backup configuration in progress. Action id = 89034934-3500-4d1c-93b8-1d91b4ac1c17. Performing "Start 'Delete logical backup configuration' action".done Deletion of 1 completed
backup create
Команда adbm backup create
создает резервную копию базы данных на основе переданных опций. Для логических бэкапов используется утилита gpbackup.
Синтаксис:
$ adbm backup create \
--backup-format | -f <backupFormat> \
--dbname | --database | -d <dbName> \
[--config-id | -c <backupConfigId>]
[--file <file>] \
[--log-level <logLevel>] \
[--log-path <logPath>] \
[--help | -h]
ВАЖНО
|
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--dbname | --database | -d |
Название базы данных ADB, для которой требуется бэкап |
Да |
— |
--config-id | -c |
Идентификатор конфигурации бэкапа, которая будет использована для создания бэкапа. Возвращается как результат выполнения команды backup config create и может быть извлечен с помощью команды backup config ls |
Нет |
— |
--file |
Путь к JSON-файлу с конфигурационными параметрами бэкапа. См. Параметры JSON-файла ниже |
Нет |
— |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
Шаблон:
{
"compressionLevel": integer,
"compressionType": "string(enum)",
"copyQueueSize": integer,
"jobs": integer,
"pluginConfig": "string",
"excludeSchema": [
"string"
],
"excludeTable": [
"string"
],
"excludeSchemaFile": "string",
"excludeTableFile": "string",
"includeSchema": [
"string"
],
"includeTable": [
"string"
],
"includeSchemaFile": "string",
"includeTableFile": "string",
"isDataOnly": boolean,
"isDebug": boolean,
"isIncremental": boolean,
"isWithoutGlobals": boolean,
"isLeafPartitionData": boolean,
"isMetadataOnly": boolean,
"isNoCompression": boolean,
"isNoInherits": boolean,
"isNoHistory": boolean,
"isSingleDataFile": boolean,
"isWithStats": boolean,
"isMultiFormatBackups": boolean
}
Поле | Описание | По умолчанию |
---|---|---|
compressionLevel |
Уровень сжатия данных. Возможные значения: Если значение опции не указано, gpbackup использует уровень сжатия данных |
1 |
compressionType |
Способ сжатия данных. Возможные значения:
Если значение опции не указано, gpbackup использует метод компрессии |
gzip |
copyQueueSize |
Определяет количество команд Может использоваться только совместно с опцией |
— |
jobs |
Количество параллельных соединений, используемых при создании бэкапа. По умолчанию используется одно соединение. Увеличение этого параметра может повысить скорость создания бэкапа. Не допускается комбинировать с опциями |
1 |
pluginConfig |
Путь к конфигурационному файлу плагина gpbackup в формате YAML. Если опция Не допускается комбинировать с опцией |
— |
excludeSchema |
Массив схем для исключения из бэкапа. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
excludeTable |
Массив таблиц для исключения из бэкапа. Каждая таблица определяется в формате При указании в массиве имени листовой партиции партиционированной таблицы утилита gpbackup ее игнорирует. Листовая партиция не исключается. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
excludeSchemaFile |
Путь к текстовому файлу, содержащему список схем для исключения из бэкапа. Каждая строка файла определяет имя одной схемы. В файле не должно быть пустых строк. Если имя схемы содержит символы, отличные от букв в нижнем регистре, цифр и знаков нижнего подчеркивания — необходимо поместить их в двойные кавычки. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
excludeTableFile |
Путь к текстовому файлу, содержащему список таблиц для исключения из бэкапа. Каждая строка файла определяет имя одной таблицы в формате При указании в файле имени листовой партиции партиционированной таблицы утилита gpbackup ее игнорирует. Листовая партиция не исключается. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
includeSchema |
Массив схем для включения в бэкап. Прочие схемы исключаются из бэкапа. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
includeTable |
Массив таблиц для включения в бэкап. Прочие таблицы исключаются из бэкапа. Каждая таблица заполняется в формате Наряду с таблицами, можно также перечислить последовательности, представления и метариализованные представления. В этом случае в массиве требуется также явно указать все зависимые объекты, необходимые для восстановления. Опционально в опции можно перечислить имена листовых партиций для включения в бэкап только определенных партиций — если используется опция Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
includeSchemaFile |
Путь к текстовому файлу, содержащему список схем для включения в бэкап. Прочие схемы исключаются из бэкапа. Каждая строка файла определяет имя одной схемы. В файле не должно быть пустых строк. Если имя схемы содержит символы, отличные от букв в нижнем регистре, цифр и знаков нижнего подчеркивания — необходимо поместить их в двойные кавычки. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
includeTableFile |
Путь к текстовому файлу, содержащему список таблиц для включения в бэкап. Прочие таблицы исключаются из бэкапа. Каждая строка файла определяет имя одной таблицы в формате Наряду с таблицами, можно также перечислить последовательности, представления и метариализованные представления. В этом случае в файле требуется также явно указать все зависимые объекты, необходимые для восстановления. Опционально в опции можно перечислить имена листовых партиций для включения в бэкап только определенных партиций — если используется опция Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
isDataOnly |
Определяет, бэкапировать ли только табличные данные без метаданных, которые требуются для создания таблиц и других объектов БД |
false |
isDebug |
Определяет, показывать ли отладочные сообщения во время создания бэкапа |
false |
isIncremental |
Определяет необходимость создания инкрементного бэкапа |
false |
isWithoutGlobals |
Определяет, необходимо ли исключить глобальные системные объекты из бэкапа |
false |
isLeafPartitionData |
Для партиционированных таблиц определяет необходимость создания отдельного файла данных на каждую листовую партицию вместо общего файла на всю таблицу |
false |
isMetadataOnly |
Определяет, формировать ли только файлы с метаданными (DDL), необходимыми для создания таблиц и других объектов БД, без самих данных |
false |
isNoCompression |
Определяет, исключить ли сжатие CSV-файлов с табличными данными |
false |
isNoInherits |
При установке флага в бэкап включаются метаданные самих таблиц, отношения наследования с другими таблицами игнорируются. Используется только в комбинации с опцией |
false |
isNoHistory |
При установке флага утилита gpbackup не записывает метаданные бэкапа в базу данных с историей |
false |
isSingleDataFile |
Определяет необходимость создания одного общего файла с данными на сегмент-хосте для всех таблиц, которые бэкапируются в текущем сегменте. По умолчанию gpbackup создает один CSV-файл для каждой бэкапируемой таблицы в сегменте |
false |
isWithStats |
Определяет, включать ли статистику плана запросов в бэкап |
false |
isMultiFormatBackups |
Определяет одновременный запуск логических и бинарных бэкапов |
false |
ПРИМЕЧАНИЕ
Все поля в JSON-файле опциональны.
|
В выводе команды отображается идентификатор запущенного действия в ADBM в следующем формате:
Action id = <actionId>
Успешный результат команды также содержит название созданного бэкапа:
Logical backup <backupName> created
-
Запустите следующую команду для создания бэкапа:
$ adbm backup create --dbname test --backup-format logical --config-id 2
Результат:
Create backup in progress. Action id = 5b9ffc21-1578-4e9d-a152-066cf2c02102. Performing "Start 'Create logical backup' action".done Logical backup 20240726105135 created
-
Убедитесь, что параметры выбранной конфигурации (
--config-id=2
) применены к бэкапу, так как опция--file
не использовалась при создании бэкапа. Для этого можно запустить команду backup ls. В приведенном ниже примере все опции имеют дефолтные значения, так как при создании соответствующей конфигурации бэкапа опция--file
также не заполнялась:$ adbm backup ls --backup-format logical --backup-name 20240726105135
Результат:
{ "id" : 9, "name" : "20240726105135", "configId" : 2, "clusterId" : 1, "startTime" : 1721991095000, "updateTime" : 1721991110827, "status" : "done", "type" : "full", "version" : "1.30.3", "database" : "test", "configParams" : { "excludeSchema" : [ ], "excludeTable" : [ ], "includeSchema" : [ ], "includeTable" : [ ], "isDataOnly" : false, "isDebug" : false, "isIncremental" : false, "isWithoutGlobals" : false, "isLeafPartitionData" : false, "isMetadataOnly" : false, "isNoCompression" : false, "isNoInherits" : false, "isNoHistory" : false, "isSingleDataFile" : false, "isWithStats" : false, "isMultiFormatBackups" : false } }
-
Создайте JSON-файл с конфигурационными параметрами:
$ vi backup.json
{ "compressionLevel": 2, "compressionType": "zstd", "isMetadataOnly": true }
-
Запустите следующую команду для создания бэкапа:
$ adbm backup create --dbname test --backup-format logical --config-id 3 --file backup.json
Результат:
Create backup in progress. Action id = 9e95c4c2-f9f9-46ea-a0b5-cad35d8961f8. Performing "Start 'Create logical backup' action".done Logical backup 20240726095356 created
-
Проверьте, что переданные в опции
--file
параметры применены к бэкапу, запустив команду backup ls:$ adbm backup ls --backup-format logical --backup-name 20240726095356
Результат:
{ "id" : 3, "name" : "20240726095356", "configId" : 3, "clusterId" : 1, "startTime" : 1721987636000, "updateTime" : 1721987651035, "status" : "done", "type" : "full", "version" : "1.30.3", "database" : "test", "configParams" : { "compressionLevel" : 2, "compressionType" : "zstd", "excludeSchema" : [ ], "excludeTable" : [ ], "includeSchema" : [ "public" ], "includeTable" : [ ], "isDataOnly" : false, "isDebug" : false, "isIncremental" : false, "isWithoutGlobals" : false, "isLeafPartitionData" : false, "isMetadataOnly" : true, "isNoCompression" : false, "isNoInherits" : false, "isNoHistory" : false, "isSingleDataFile" : false, "isWithStats" : false, "isMultiFormatBackups" : false } }
backup restore
Команда adbm backup restore
позволяет восстановить данные из выбранного бэкапа (предварительно созданного с помощью команды backup create) на основе переданных опций. Для логических бэкапов используется утилита gprestore.
Синтаксис:
$ adbm backup restore \
--backup-format | -f <backupFormat> \
--backup-name <backupName> \
[--file <file>] \
[--log-level <logLevel>] \
[--log-path <logPath>] \
[--help | -h]
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--backup-name |
|
Да |
— |
--file |
Путь к JSON-файлу с параметрами восстановления данных. При заполнении опции параметры берутся из файла. См. Параметры JSON-файла ниже |
Нет |
— |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
Шаблон:
{
"copyQueueSize": integer,
"jobs": integer,
"pluginConfig": "string",
"redirectSchema": "string",
"redirectDb": "string",
"excludeSchema": [
"string"
],
"excludeTable": [
"string"
],
"excludeSchemaFile": "string",
"excludeTableFile": "string",
"includeSchema": [
"string"
],
"includeTable": [
"string"
],
"includeSchemaFile": "string",
"includeTableFile": "string",
"isDebug": boolean,
"isDataOnly": boolean,
"isIncremental": boolean,
"isMetadataOnly": boolean,
"isWithStats": boolean,
"isCreateDb": boolean,
"isTruncateTable": boolean,
"isResizeCluster": boolean,
"isOnErrorContinue": boolean,
"isWithGlobals": boolean,
"isRunAnalyze": boolean
}
Поле | Описание | По умолчанию |
---|---|---|
copyQueueSize |
Определяет количество команд Может использоваться только в случае, если используемый для восстановления бэкап создан с опцией |
— |
jobs |
Количество параллельных соединений, используемых при восстановлении данных и метаданных. По умолчанию используется одно соединение. Увеличение этого параметра может повысить скорость восстановления данных. Если выбранный для восстановления бэкап создан с опцией |
1 |
pluginConfig |
Путь к конфигурационному файлу плагина gpbackup (в формате YAML). Если опция Не допускается комбинировать с опцией |
— |
redirectSchema |
Определяет имя схемы, в которую требуется восстановить данные вместо исходных схем. Выбранная схема должна существовать в базе данных. Опцию Не допускается использовать Опция может быть использована в комбинации с |
— |
redirectDb |
Определяет имя базы данных, в которую требуется восстановить данные вместо забэкапированной БД |
— |
excludeSchema |
Массив схем для исключения из операции восстановления. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
excludeTable |
Массив таблиц для исключения из операции восстановления. Каждая таблица определяется в формате Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
excludeSchemaFile |
Путь к текстовому файлу, содержащему список схем для исключения из операции восстановления. Каждая строка файла определяет имя одной схемы. В файле не должно быть пустых строк. Если имя схемы содержит символы, отличные от букв в нижнем регистре, цифр и знаков нижнего подчеркивания — необходимо поместить их в двойные кавычки. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
excludeTableFile |
Путь к текстовому файлу, содержащему список таблиц для исключения из операции восстановления. Каждая строка файла определяет имя одной таблицы в формате Листовые партиции партиционированной таблицы не могут быть исключены. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
includeSchema |
Массив схем для восстановления. Прочие схемы исключаются из операции восстановления. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
includeTable |
Массив таблиц для восстановления. Прочие таблицы исключаются из операции восстановления. Каждая таблица заполняется в формате Наряду с таблицами, можно также перечислить последовательности, представления и метариализованные представления. В этом случае в массиве требуется также явно указать все зависимые объекты, необходимые для восстановления. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
{} |
includeSchemaFile |
Путь к текстовому файлу, содержащему список схем для восстановления. Прочие схемы исключаются из операции восстановления. Каждая строка файла определяет имя одной схемы. В файле не должно быть пустых строк. Если имя схемы содержит символы, отличные от букв в нижнем регистре, цифр и знаков нижнего подчеркивания — необходимо поместить их в двойные кавычки. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
includeTableFile |
Путь к текстовому файлу, содержащему список таблиц для восстановления. Прочие таблицы исключаются из операции восстановления. Каждая строка файла определяет имя одной таблицы в формате Не допускается указывать листовую партицию партиционированной таблицы. Наряду с таблицами, можно также перечислить последовательности, представления и метариализованные представления. В этом случае в файле требуется также явно указать все зависимые объекты, необходимые для восстановления. Не допускается комбинирование с другими опциями фильтрации схем и таблиц |
— |
isDataOnly |
Определяет, восстанавливать ли только табличные данные без создания самих таблиц и других объектов БД. Использование опции предполагает, что таблицы и другие объекты созданы в целевой БД |
false |
isDebug |
Определяет, показывать ли отладочные сообщения во время операции восстановления |
false |
isIncremental |
Определяет необходимость восстановления только табличных данных из одного инкрементного бэкапа, указанного в опции Требует заполнения опции Является бета-функцией и не рекомендуется для использования в production-средах |
false |
isMetadataOnly |
Определяет, восстанавливать ли только метаданные без самих данных. Использование опции предполагает, что таблицы и другие объекты отсутствуют в целевой БД |
false |
isWithStats |
Определяет, восстанавливать ли статистику плана запросов. Если выбранный для восстановления бэкап не создавался с опцией Не допускается комбинировать с опцией |
false |
isCreateDb |
Определяет, создавать ли базу данных перед восстановлением данных. База данных создается путем клонирования стандартной системной БД |
false |
isTruncateTable |
Определяет необходимость удаления существующих данных в таблицах перед их восстановлением. Использование опции позволяет заменить существующие данные данными из бэкапа. В противном случае возможна дубликация данных. Набор таблиц должен быть определен с помощью опции Допускается комбинировать с опцией |
false |
isResizeCluster |
Определяет возможность восстановления данных в кластере, имеющем отличное число сегментов по сравнению с кластером, в котором был снят бэкап |
false |
isOnErrorContinue |
Определяет, продолжать ли операцию восстановления в случае возникновения SQL-ошибок при создании объектов БД (таблиц, ролей, функций и т.д.) или восстановлении данных. При возникновении ошибок других видов утилита завершает работу. По умолчанию (без использовании опции) выход происходит при возникновении первой ошибки. При использовании Также при использовании опции утилита gprestore записывает в директорию с бэкапом файлы, содержащие перечень таблиц, вызвавших SQL-ошибки |
false |
isWithGlobals |
Определяет необходимость восстановления глобальных системных объектов ADB, наряду с объектами восстанавливаемой БД |
false |
isRunAnalyze |
Определяет необходимость запуска Если опция Не допускается комбинировать с опцией В зависимости от размера восстанавливаемых таблиц, запуск |
false |
ПРИМЕЧАНИЕ
Все поля в JSON-файле опциональны.
|
В выводе команды отображается идентификатор запущенного действия в ADBM в следующем формате:
Action id = <actionId>
Успешный результат команды также содержит название бэкпа, из которого были восстановлены данные:
Restore of <backupName> completed
$ adbm backup restore --backup-name 20240715151947 --backup-format logical
Результат:
Create backup restore in progress. Action id = 9d9230ec-758e-4f3f-821e-74aa54ce9f80. Performing "Start 'Create logical restore' action".done Restore of 20240715151947 completed
-
Создайте JSON-файл с конфигурационными параметрами:
$ vi restore.json
{ "redirectDb": "test2", "isCreateDb": true, "isRunAnalyze": true }
-
Запустите следующую команду для восстановления данных из выбранного бэкапа:
$ adbm backup restore --backup-name 20240726121436 --backup-format logical --file restore.json
Результат:
Create backup restore in progress. Action id = 618badbe-1b9d-4d90-8812-7112c99517b8. Performing "Start 'Create logical restore' action".done Restore of 20240726121436 completed
backup ls
Команда adbm backup ls
возвращает список существующих бэкапов (предварительно созданных с помощью команды backup create).
Синтаксис:
$ adbm backup ls \
--backup-format | -f <backupFormat> \
[--database | -d <database>] \
[--backup-type <backupType>] \
[--backup-status <backupStatus>] \
[--backup-name <backupName>] \
[--log-level <logLevel>] \
[--log-path <logPath>] \
[--help | -h]
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--database | -d |
Название базы данных |
Нет |
— |
--backup-type |
Тип бэкапа. Возможные значения для логических бэкапов:
|
Нет |
— |
--backup-status |
Статус бэкапа. Возможные значения для логических бэкапов:
|
Нет |
— |
--backup-name |
Название бэкапа. Если опция заполнена, команда возвращает информацию только о выбранном бэкапе. Возвращается как результат выполнения команды backup create и может быть извлечено с помощью команды backup ls |
Нет |
— |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
Команда возвращает JSON-файл со списком существующих бэкапов.
Шаблон:
[ {
"id" : integer,
"name" : "string",
"configId" : integer,
"clusterId" : integer,
"startTime" : timestamp,
"updateTime" : timestamp,
"status" : "string(enum)",
"type" : "string(enum)",
"version" : "string",
"database" : "string",
"configParams" : {
"compressionLevel": integer,
"compressionType": "string(enum)",
"copyQueueSize": integer,
"jobs": integer,
"pluginConfig": "string",
"excludeSchema": [
"string"
],
"excludeTable": [
"string"
],
"excludeSchemaFile": "string",
"excludeTableFile": "string",
"includeSchema": [
"string"
],
"includeTable": [
"string"
],
"includeSchemaFile": "string",
"includeTableFile": "string",
"isDataOnly": boolean,
"isDebug": boolean,
"isIncremental": boolean,
"isWithoutGlobals": boolean,
"isLeafPartitionData": boolean,
"isMetadataOnly": boolean,
"isNoCompression": boolean,
"isNoInherits": boolean,
"isNoHistory": boolean,
"isSingleDataFile": boolean,
"isWithStats": boolean,
"isMultiFormatBackups": boolean
}
} ]
Поле | Описание |
---|---|
id |
Идентификатор бэкапа |
name |
Название бэкапа. Возвращается как результат выполнения команды backup create и может быть извлечено с помощью команды backup ls |
configId |
Идентификатор конфигурации бэкапа. Возвращается как результат выполнения команды backup config create и может быть извлечен с помощью команды backup config ls |
clusterId |
Идентификатор кластера |
startTime |
Время создания записи (временная метка запуска бэкапа) |
updateTime |
Время редактирования записи (временная метка обновления статуса бэкапа) |
status |
Статус бэкапа. Возможные значения для логических бэкапов:
|
type |
Тип бэкапа. Возможные значения для логических бэкапов:
|
version |
Версия утилиты gpbackup, использованная для создания бэкапа |
database |
Название базы данных |
configParams |
Конфигурационные параметры, использованные для создания бэкапа. Информацию по каждому доступному параметру можно получить в разделе Параметры JSON-файла из описания команды Полностью параметры отображаются только в случае, если команда запускается для конкретного бэкапа (с установленной опцией |
$ adbm backup ls --backup-format logical
Результат:
[ {
"id" : 1,
"name" : "20240715151947",
"configId" : 2,
"clusterId" : 1,
"startTime" : 1721056787000,
"updateTime" : 1721056792351,
"status" : "done",
"type" : "full",
"version" : "1.30.3",
"database" : "test",
"configParams" : {
"excludeSchema" : [ ],
"excludeTable" : [ ],
"includeSchema" : [ ],
"includeTable" : [ ]
}
}, {
"id" : 2,
"name" : "20240726095046",
"configId" : 3,
"clusterId" : 1,
"startTime" : 1721987446000,
"updateTime" : 1721987462071,
"status" : "done",
"type" : "full",
"version" : "1.30.3",
"database" : "test",
"configParams" : {
"compressionLevel" : 1,
"compressionType" : "gzip",
"excludeSchema" : [ ],
"excludeTable" : [ ],
"includeSchema" : [ "public" ],
"includeTable" : [ ]
}
}, {
"id" : 3,
"name" : "20240726095356",
"configId" : 3,
"clusterId" : 1,
"startTime" : 1721987636000,
"updateTime" : 1721987651035,
"status" : "done",
"type" : "full",
"version" : "1.30.3",
"database" : "test",
"configParams" : {
"compressionLevel" : 2,
"compressionType" : "zstd",
"excludeSchema" : [ ],
"excludeTable" : [ ],
"includeSchema" : [ "public" ],
"includeTable" : [ ]
}
} ]
$ adbm backup ls --backup-format logical --backup-name 20240726095356
Результат:
{
"id" : 3,
"name" : "20240726095356",
"configId" : 3,
"clusterId" : 1,
"startTime" : 1721987636000,
"updateTime" : 1721987651035,
"status" : "done",
"type" : "full",
"version" : "1.30.3",
"database" : "test",
"configParams" : {
"compressionLevel" : 2,
"compressionType" : "zstd",
"excludeSchema" : [ ],
"excludeTable" : [ ],
"includeSchema" : [ "public" ],
"includeTable" : [ ],
"isDataOnly" : false,
"isDebug" : false,
"isIncremental" : false,
"isWithoutGlobals" : false,
"isLeafPartitionData" : false,
"isMetadataOnly" : true,
"isNoCompression" : false,
"isNoInherits" : false,
"isNoHistory" : false,
"isSingleDataFile" : false,
"isWithStats" : false,
"isMultiFormatBackups" : false
}
}
backup report
Команда adbm backup report
возвращает отчет о выбранном бэкапе (предварительно созданном с помощью команды backup create).
Синтаксис:
$ adbm backup report \
--backup-format | -f <backupFormat> \
--backup-name <backupName> \
[--output <outputFormat>] \
[--log-level <logLevel>] \
[--log-path <logPath>] \
[--help | -h]
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--backup-name |
|
Да |
— |
--output |
Формат вывода команды. Возможные значения:
|
Нет |
text |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
Команда возвращает детальный отчет о выбранном бэкапе в форме текста или JSON-файла (в зависимости от значения опции --output
). Этот отчет содержит версию ADB и gpbackup; опции команды, использованной для создания бэкапа; время запуска и завершения бэкапа и другую полезную информацию.
$ adbm backup report --backup-name 20241206091238 --backup-format logical --output text
Результат:
Greenplum Database Backup Report timestamp key: 20241206091238 gpdb version: 6.27.1_arenadata59 build 3956+gitc4500d63cbe gpbackup version: 1.30.5 database name: test command line: gpbackup --dbname test --backup-dir /dasha --compression-level 2 --compression-type zstd --verbose compression: zstd plugin executable: None backup section: All Sections object filtering: None includes statistics: No data file format: Multiple Data Files Per Segment incremental: False start time: Fri Dec 06 2024 09:12:38 end time: Fri Dec 06 2024 09:12:40 duration: 0:00:02 backup status: Success database size: 167 MB segment count: 8 count of database objects in backup: aggregates 0 casts 0 collations 0 constraints 4 conversions 0 default privileges 0 database gucs 0 event triggers 0 extensions 1 foreign data wrappers 0 foreign servers 0 functions 0 indexes 2 operator classes 0 operator families 0 operators 0 procedural languages 0 protocols 0 resource groups 2 resource queues 1 roles 3 rules 0 schemas 2 sequences 2 tables 6 tablespaces 0 text search configurations 0 text search dictionaries 0 text search parsers 0 text search templates 0 triggers 0 types 0 user mappings 0 views 0
$ adbm backup report --backup-name 20241206091238 --backup-format logical --output json
Результат:
{
"report" : "Greenplum Database Backup Report\n\ntimestamp key: 20241206091238\ngpdb version: 6.27.1_arenadata59 build 3956+gitc4500d63cbe\ngpbackup version: 1.30.5\n\ndatabase name: test\ncommand line: gpbackup --dbname test --backup-dir /dasha --compression-level 2 --compression-type zstd --verbose\ncompression: zstd\nplugin executable: None\nbackup section: All Sections\nobject filtering: None\nincludes statistics: No\ndata file format: Multiple Data Files Per Segment\nincremental: False\n\nstart time: Fri Dec 06 2024 09:12:38\nend time: Fri Dec 06 2024 09:12:40\nduration: 0:00:02\n\nbackup status: Success\n\ndatabase size: 167 MB\nsegment count: 8\n\ncount of database objects in backup:\naggregates 0\ncasts 0\ncollations 0\nconstraints 4\nconversions 0\ndefault privileges 0\ndatabase gucs 0\nevent triggers 0\nextensions 1\nforeign data wrappers 0\nforeign servers 0\nfunctions 0\nindexes 2\noperator classes 0\noperator families 0\noperators 0\nprocedural languages 0\nprotocols 0\nresource groups 2\nresource queues 1\nroles 3\nrules 0\nschemas 2\nsequences 2\ntables 6\ntablespaces 0\ntext search configurations 0\ntext search dictionaries 0\ntext search parsers 0\ntext search templates 0\ntriggers 0\ntypes 0\nuser mappings 0\nviews 0\n"
}
backup delete
Команда adbm backup delete
позволяет удалить выбранный бэкап (предварительно созданный с помощью команды backup create).
Синтаксис:
$ adbm backup delete \
--backup-format | -f <backupFormat> \
--backup-name <backupName> \
[--before]
[-a]
[--log-level <logLevel>]
[--log-path <logPath>]
[--help | -h]
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--backup-name |
|
Да |
— |
before |
Определяет необходимость удаления всех бэкапов, созданных ранее выбранного |
Нет |
— |
-a |
Определяет необходимость автоматического запуска команды (без подтверждения со стороны пользователя) |
Нет |
false |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
В выводе команды отображается идентификатор запущенного действия в ADBM в следующем формате:
Action id = <actionId>
Успешный результат команды также содержит название удаленного бэкапа:
Deletion of <backupName> completed
$ adbm backup delete --backup-format logical --backup-name 20240715151947
Результат:
Are you sure you want to delete logical backup? (y/n):y Delete backup in progress. Action id = 682cc090-e64a-4332-b084-8b1728dcf71a. Performing "Start 'Delete logical backup' action".done Deletion of 20240715151947 completed
backup status
Команда adbm backup status
возвращает информацию о выбранном действии, запущенном одной из следующих команд:
Синтаксис:
$ adbm backup status \
--backup-format | -f <backupFormat> \
--action-id <actionId> \
[--all]
[--log-level <logLevel>]
[--log-path <logPath>]
[--help | -h]
Опция | Описание | Обязательность | По умолчанию |
---|---|---|---|
--backup-format | -f |
Определяет тип бэкапов, которыми оперирует команда. Возможные значения:
|
Да |
— |
--action-id |
Уникальный идентификатор действия. Возвращается следующими командами: |
Да |
— |
--all |
Определяет необходимость включения в командный вывод информации о дочерних действиях выбранного действия (в рамках поля |
Нет |
— |
--log-level |
Уровень логирования команды |
Нет |
info |
--log-path |
Путь к месту хранения логов команды |
Нет |
/home/gpadmin/gpAdminLogs |
--help | -h |
Позволяет вывести справочную информацию об опциях, поддерживаемых командой |
Нет |
— |
Команда возвращает JSON-файл с информацией по выбранному действию.
Шаблон:
{
"clusterName" : "string",
"startTime" : timestamp,
"endTime" : timestamp,
"result": string,
"actionData" : {
"id" : "string",
"name" : "string",
"status" : "string(enum)",
"type" : "string(enum)",
"username" : "string"
},
"childActions" : [
{
"clusterName" : "string",
"startTime" : timestamp,
"endTime" : timestamp,
"result": string,
"actionData" : {
"id" : "string",
"name" : "string",
"status" : "string(enum)",
"type" : "string(enum)",
"username" : "string"
},
"childActions" : [],
"level" : 1
},
...
],
"level" : 0
}
Поле | Описание |
---|---|
clusterName |
Название кластера |
startTime |
Временная метка начала действия |
endTime |
Временная метка завершения действия |
result |
Содержимое результата (при наличии) |
actionData.id |
Идентификатор действия |
actionData.name |
Название действия |
actionData.status |
Статус действия. Возможные значения:
|
actionData.type |
Тип действия. Возможные значения:
|
actionData.username |
Имя пользователя, запустившего действие |
childActions |
Список дочерних действий (при наличии). Заполняется только в случае указания командной опции |
level |
Уровень вложенности действия. Принимает значение |
$ adbm backup status --action-id 682cc090-e64a-4332-b084-8b1728dcf71a --backup-format logical
Результат:
{
"clusterName" : "Test ADB cluster",
"startTime" : 1721146147611,
"endTime" : 1721146155632,
"actionData" : {
"id" : "682cc090-e64a-4332-b084-8b1728dcf71a",
"name" : "Start 'Delete logical backup' action",
"status" : "done",
"type" : "api",
"username" : "adcc"
},
"childActions" : [ ],
"level" : 0
}
$ adbm backup status --action-id 682cc090-e64a-4332-b084-8b1728dcf71a --backup-format logical --all
Результат:
{
"clusterName" : "Test ADB cluster",
"startTime" : 1721146147611,
"endTime" : 1721146155632,
"actionData" : {
"id" : "682cc090-e64a-4332-b084-8b1728dcf71a",
"name" : "Start 'Delete logical backup' action",
"status" : "done",
"type" : "api",
"username" : "adcc"
},
"childActions" : [ {
"clusterName" : "Test ADB cluster",
"startTime" : 1721146147709,
"endTime" : 1721146147745,
"actionData" : {
"id" : "e59a4f9b-fbc2-45a2-ab5a-9014c3ee3dca",
"name" : "Get cluster topology",
"status" : "done",
"type" : "internal",
"username" : "adcc"
},
"childActions" : [ ],
"level" : 1
}, {
"clusterName" : "Test ADB cluster",
"startTime" : 1721146147751,
"endTime" : 1721146147778,
"actionData" : {
"id" : "0c43d0e1-0122-49e1-8409-540608c9e571",
"name" : "Save topology metadata",
"status" : "done",
"type" : "internal",
"username" : "adcc"
},
"childActions" : [ ],
"level" : 1
}, {
"clusterName" : "Test ADB cluster",
"startTime" : 1721146147789,
"endTime" : 1721146147808,
"actionData" : {
"id" : "6623b6f4-61df-4428-8443-0b0b86813d10",
"name" : "Get logical backup for deletion",
"status" : "done",
"type" : "internal",
"username" : "adcc"
},
"childActions" : [ ],
"level" : 1
}, {
"clusterName" : "Test ADB cluster",
"startTime" : 1721146147818,
"endTime" : 1721146155591,
"result" : "[{\"target\":\"10.92.43.169:6571\",\"requestId\":\"d7dfc140-efc6-4cff-a6de-b7cc68802455\",\"actionId\":\"100f4faf-e130-4ce7-b6c2-19b5ffe052b8\",\"clusterId\":1,\"success\":true,\"jsonBody\":null,\"errors\":[],\"segmentIds\":[-1],\"commands\":[{\"command\":\"delete logical backups from gpbackup_history.db\",\"segmentId\":-1}]},{\"target\":\"10.92.40.79:6571\",\"requestId\":\"38395ef8-0fea-4098-82f2-e78c74c1c959\",\"actionId\":\"100f4faf-e130-4ce7-b6c2-19b5ffe052b8\",\"clusterId\":1,\"success\":true,\"jsonBody\":null,\"errors\":[],\"segmentIds\":[4,5,6,7],\"commands\":[{\"command\":\"delete logical backups from gpbackup_history.db\",\"segmentId\":-1}]},{\"target\":\"10.92.40.109:6571\",\"requestId\":\"93a8b36b-4e5f-4d98-9625-eb28868e2a2a\",\"actionId\":\"100f4faf-e130-4ce7-b6c2-19b5ffe052b8\",\"clusterId\":1,\"success\":true,\"jsonBody\":null,\"errors\":[],\"segmentIds\":[0,1,2,3],\"commands\":[{\"command\":\"delete logical backups from gpbackup_history.db\",\"segmentId\":-1}]}]",
"actionData" : {
"id" : "100f4faf-e130-4ce7-b6c2-19b5ffe052b8",
"name" : "Physical removal of logical backups",
"status" : "done",
"type" : "internal",
"username" : "adcc"
},
"childActions" : [ ],
"level" : 1
}, {
"clusterName" : "Test ADB cluster",
"startTime" : 1721146155626,
"endTime" : 1721146155630,
"actionData" : {
"id" : "edc27555-fb92-4f37-81e5-961bae3f7347",
"name" : "Finish 'Delete logical backup' action",
"status" : "done",
"type" : "internal",
"username" : "adcc"
},
"childActions" : [ ],
"level" : 1
} ],
"level" : 0
}