Использование 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
ВАЖНО
  • На текущий момент ADBM CLI предназначен для управления исключительно логическими бэкапами (см. --backup-format logical | l в командных опциях ниже). Бинарные бэкапы не поддерживаются. При вызове любой команды с опцией --backup-format binary | b возвращается ошибка.

  • Все опции CLI необходимо заполнять в нижнем регистре. Опции, не требующие ввода значений (-h, -a и т.д.), заполняются отдельно друг от друга. Слияние имен опций (например, -ha) не поддерживается.

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

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--repo-type

Тип репозитория, используемого для хранения данных. Возможные значения:

Да

 — 

--repo-path

Директория для хранения всех данных бэкапа (файлов с данными и метаданными) . Не следует заполнять, если используется --repo-type s3|dds

Да, если --repo-type = posix|cifs

 — 

--file

Путь к файлу JSON, содержащему конфигурационные параметры репозитория. При заполнении опции параметры берутся из файла. См. Параметры JSON-файла ниже

Да, если --repo-type = s3|dds

 — 

--log-level

Уровень логирования команды

Нет

info

--log-path

Путь к месту хранения логов команды

Нет

/home/gpadmin/gpAdminLogs

--help | -h

Позволяет вывести справочную информацию об опциях, поддерживаемых командой

Нет

 — 

Параметры JSON-файла

 

Параметры JSON-файла (--file) зависят от выбранного типа репозитория (--repo-type).

  • s3

  • dds

Шаблон:

{
  "bucket": "string",
  "endpoint": "string",
  "region": "string",
  "keyType": "string(enum)",
  "key": "string",
  "keySecret": "string",
  "caFile": "string",
  "uriType": "string(enum)",
  "path": "string"
}
Поля JSON
Поле Описание Обязательность

bucket

Бакет в S3-хранилище

Да

endpoint

Конечная точка (endpoint) для S3-хранилища

Да

region

Регион S3-хранилища

Да

keyType

Тип ключа S3-хранилища:

  • shared — использование общих (shared) ключей;

  • auto — автоматическое извлечение временных учетных данных;

  • web-id — автоматическое извлечение учетных данных web identity.

Да

key

Ключ S3-хранилища

Да

keySecret

Секретный ключ S3-хранилища

Да

caFile

PEM-файл от доверенного центра сертификации (Certificate Authority, CA) S3-хранилища

Да

uriType

Тип конечной точки S3-хранилища (см. endpoint выше). Возможные значения:

  • host — хост;

  • path — путь.

Да

path

Репозиторий, в котором будут храниться бэкапы и архив WAL-сегментов

Да

Шаблон:

{
  "hostname": "string",
  "username": "string",
  "password": "string",
  "storageUnit": "string",
  "directory": "string",
  "writeBufferSize": integer,
  "readBufferSize": integer,
  "executablePath": "string"
}
Поля JSON
Поле Описание Обязательность

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
Пример
  • Без опции --file

  • С опцией --file

$ 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
  1. Создайте 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"
    }
  2. Запустите следующую команду для создания конфигурации репозитория:

    $ 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

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--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

  • cifs

  • s3

  • posix

  • dds

Поле Описание

id

Идентификатор конфигурации репозитория. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls

repoType

Тип репозитория, используемого для хранения данных — cifs

cifs.id

Идентификатор конфигурации репозитория cifs

cifs.path

Директория для хранения всех данных бэкапа (файлов с данными и метаданными)

Поле Описание

id

Идентификатор конфигурации репозитория. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls

repoType

Тип репозитория, используемого для хранения данных — s3

s3.id

Идентификатор конфигурации репозитория s3

s3.path

Репозиторий, в котором будут храниться бэкапы и архив WAL-сегментов

s3.bucket

Бакет в S3-хранилище

s3.endpoint

Конечная точка (endpoint) для S3-хранилища

s3.region

Регион S3-хранилища

s3.keyType

Тип ключа S3-хранилища:

  • shared — использование общих (shared) ключей;

  • auto — автоматическое извлечение временных учетных данных;

  • web-id — автоматическое извлечение учетных данных web identity.

s3.key

Ключ S3-хранилища

s3.keySecret

Секретный ключ S3-хранилища

s3.caFile

PEM-файл от доверенного центра сертификации (Certificate Authority, CA) S3-хранилища

s3.uriType

Тип конечной точки S3-хранилища (см. endpoint выше). Возможные значения:

  • host — хост;

  • path — путь.

Поле Описание

id

Идентификатор конфигурации репозитория. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls

repoType

Тип репозитория, используемого для хранения данных — posix

posix.id

Идентификатор конфигурации репозитория posix

posix.path

Директория для хранения всех данных бэкапа (файлов с данными и метаданными)

Поле Описание

id

Идентификатор конфигурации репозитория. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls

repoType

Тип репозитория, используемого для хранения данных — dds

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

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--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]
ВАЖНО

В случае отсутствия опции --file параметрам создаваемой конфигурации бэкапа присваиваются значения по умолчанию. См. Параметры JSON-файла ниже.

Опции команды
Опция Описание Обязательность По умолчанию

--backup-format | -f

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--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

Позволяет вывести справочную информацию об опциях, поддерживаемых командой

Нет

 — 

Параметры JSON-файла

 

Шаблон:

{
  "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
}
Поля JSON
Поле Описание По умолчанию

compressionLevel

Уровень сжатия данных. Возможные значения: 1 — 9.

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

1

compressionType

Способ сжатия данных. Возможные значения:

  • gzip

  • zstd

Если значение опции не указано, gpbackup использует метод компрессии gzip по умолчанию

gzip

copyQueueSize

Определяет количество команд COPY, которые утилита gpbackup должна установить в очередь при создания бэкапа. Использование опции оптимизирует производительность операции бэкапирования за счет сокращения времени, необходимого для инициализации команд COPY. При значении опции, меньшем 2, gpbackup ставит в очередь одну команду COPY за раз.

Может использоваться только совместно с опцией isSingleDataFile=true. Не допускается комбинировать с опцией jobs

 — 

jobs

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

Не допускается комбинировать с опциями isMetadataOnly, isSingleDataFile и pluginConfig

1

pluginConfig

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

Не допускается комбинировать с опцией backupDir

 — 

excludeSchema

Массив схем для исключения из бэкапа.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

excludeTable

Массив таблиц для исключения из бэкапа. Каждая таблица определяется в формате <schema_name>.<table_name>.

При указании в массиве имени листовой партиции партиционированной таблицы утилита gpbackup ее игнорирует. Листовая партиция не исключается.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

excludeSchemaFile

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

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

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

excludeTableFile

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

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

При указании в файле имени листовой партиции партиционированной таблицы утилита gpbackup ее игнорирует. Листовая партиция не исключается.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

includeSchema

Массив схем для включения в бэкап. Прочие схемы исключаются из бэкапа.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

includeTable

Массив таблиц для включения в бэкап. Прочие таблицы исключаются из бэкапа.

Каждая таблица заполняется в формате <schema_name>.<table_name>.

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

Опционально в опции можно перечислить имена листовых партиций для включения в бэкап только определенных партиций — если используется опция isLeafPartitionData=true.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

includeSchemaFile

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

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

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

includeTableFile

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

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

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

Опционально в опции можно перечислить имена листовых партиций для включения в бэкап только определенных партиций — если используется опция isLeafPartitionData=true.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

isDataOnly

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

false

isDebug

Определяет, показывать ли отладочные сообщения во время создания бэкапа

false

isIncremental

Определяет необходимость создания инкрементного бэкапа

false

isWithoutGlobals

Определяет, необходимо ли исключить глобальные системные объекты из бэкапа

false

isLeafPartitionData

Для партиционированных таблиц определяет необходимость создания отдельного файла данных на каждую листовую партицию вместо общего файла на всю таблицу

false

isMetadataOnly

Определяет, формировать ли только файлы с метаданными (DDL), необходимыми для создания таблиц и других объектов БД, без самих данных

false

isNoCompression

Определяет, исключить ли сжатие CSV-файлов с табличными данными

false

isNoInherits

При установке флага в бэкап включаются метаданные самих таблиц, отношения наследования с другими таблицами игнорируются.

Используется только в комбинации с опцией includeTable или includeTableFile

false

isNoHistory

При установке флага утилита gpbackup не записывает метаданные бэкапа в базу данных с историей

false

isSingleDataFile

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

false

isWithStats

Определяет, включать ли статистику плана запросов в бэкап

false

isMultiFormatBackups

Определяет одновременный запуск логических и бинарных бэкапов

false

ПРИМЕЧАНИЕ
Все поля в JSON-файле опциональны.
Выходные параметры

 

В выводе команды отображается идентификатор запущенного действия в ADBM в следующем формате:

Action id = <actionId>

Успешный результат команды также содержит идентификатор созданной конфигурации бэкапов:

Backup configuration <backupConfigId> created
Пример
  • Без опции --file

  • С опцией --file

  1. Запустите следующую команду для создания конфигурации бэкапа:

    $ 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
  2. Убедитесь, что параметрам созданной конфигурации присвоены дефолтные значения, т.к. опция --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
      }
    }
  1. Создайте JSON-файл с конфигурационными параметрами:

    $ vi backup-conf.json
    {
      "compressionLevel": 1,
      "compressionType": "gzip",
      "includeSchema": [
        "public"
      ]
    }
  2. Запустите следующую команду для создания конфигурации бэкапа:

    $ 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
  3. Убедитесь, что указанные в файле параметры применились к созданной конфигурации, запустив команду 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

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--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
  }
} ]
Поля JSON
Поле Описание

id

Идентификатор конфигурации бэкапа. Возвращается как результат выполнения команды backup config create и может быть извлечен с помощью команды backup config ls

repoConfigId

Идентификатор конфигурации репозитория. Возвращается как результат выполнения команды backup repo-config create и может быть извлечен командой backup repo-config ls

configParams

Конфигурационные параметры, использованные при создании конфигурации бэкапа. Информацию по каждому доступному параметру можно получить в разделе Параметры JSON-файла из описания команды backup config create.

Полностью параметры отображаются только в случае, если команда запускается для конкретной конфигурации (с установленной опцией --config-id). В противном случае в выводе отсутствуют флаги (параметры с типом boolean). Строковые параметры с пустым значением не выводятся в любом случае

Пример
  • Без опции --config-id

  • С опцией --config-id

$ 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

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--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]
ВАЖНО
  • При отсутствии обеих опций --file и --config-id параметры для формирования бэкапа берутся из последней созданной конфигурации бэкапа.

  • При одновременном заполнении опций --file и --config-id параметры, приведенные в опции --file, приоритетнее значений одноименных параметров в выбранной конфигурации с идентификатором --config-id. Параметры, не указанные явно в опции --file, берутся из выбранной конфигурации бэкапа.

Опции команды
Опция Описание Обязательность По умолчанию

--backup-format | -f

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--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

Позволяет вывести справочную информацию об опциях, поддерживаемых командой

Нет

 — 

Параметры JSON-файла

 

Шаблон:

{
  "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
}
Поля JSON
Поле Описание По умолчанию

compressionLevel

Уровень сжатия данных. Возможные значения: 1 — 9.

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

1

compressionType

Способ сжатия данных. Возможные значения:

  • gzip

  • zstd

Если значение опции не указано, gpbackup использует метод компрессии gzip по умолчанию

gzip

copyQueueSize

Определяет количество команд COPY, которые утилита gpbackup должна установить в очередь при создания бэкапа. Использование опции оптимизирует производительность операции бэкапирования за счет сокращения времени, необходимого для инициализации команд COPY. При значении опции, меньшем 2, gpbackup ставит в очередь одну команду COPY за раз.

Может использоваться только совместно с опцией isSingleDataFile=true. Не допускается комбинировать с опцией jobs

 — 

jobs

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

Не допускается комбинировать с опциями isMetadataOnly, isSingleDataFile и pluginConfig

1

pluginConfig

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

Не допускается комбинировать с опцией backupDir

 — 

excludeSchema

Массив схем для исключения из бэкапа.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

excludeTable

Массив таблиц для исключения из бэкапа. Каждая таблица определяется в формате <schema_name>.<table_name>.

При указании в массиве имени листовой партиции партиционированной таблицы утилита gpbackup ее игнорирует. Листовая партиция не исключается.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

excludeSchemaFile

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

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

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

excludeTableFile

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

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

При указании в файле имени листовой партиции партиционированной таблицы утилита gpbackup ее игнорирует. Листовая партиция не исключается.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

includeSchema

Массив схем для включения в бэкап. Прочие схемы исключаются из бэкапа.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

includeTable

Массив таблиц для включения в бэкап. Прочие таблицы исключаются из бэкапа.

Каждая таблица заполняется в формате <schema_name>.<table_name>.

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

Опционально в опции можно перечислить имена листовых партиций для включения в бэкап только определенных партиций — если используется опция isLeafPartitionData=true.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

includeSchemaFile

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

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

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

includeTableFile

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

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

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

Опционально в опции можно перечислить имена листовых партиций для включения в бэкап только определенных партиций — если используется опция isLeafPartitionData=true.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

isDataOnly

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

false

isDebug

Определяет, показывать ли отладочные сообщения во время создания бэкапа

false

isIncremental

Определяет необходимость создания инкрементного бэкапа

false

isWithoutGlobals

Определяет, необходимо ли исключить глобальные системные объекты из бэкапа

false

isLeafPartitionData

Для партиционированных таблиц определяет необходимость создания отдельного файла данных на каждую листовую партицию вместо общего файла на всю таблицу

false

isMetadataOnly

Определяет, формировать ли только файлы с метаданными (DDL), необходимыми для создания таблиц и других объектов БД, без самих данных

false

isNoCompression

Определяет, исключить ли сжатие CSV-файлов с табличными данными

false

isNoInherits

При установке флага в бэкап включаются метаданные самих таблиц, отношения наследования с другими таблицами игнорируются.

Используется только в комбинации с опцией includeTable или includeTableFile

false

isNoHistory

При установке флага утилита gpbackup не записывает метаданные бэкапа в базу данных с историей

false

isSingleDataFile

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

false

isWithStats

Определяет, включать ли статистику плана запросов в бэкап

false

isMultiFormatBackups

Определяет одновременный запуск логических и бинарных бэкапов

false

ПРИМЕЧАНИЕ
Все поля в JSON-файле опциональны.
Выходные параметры

 

В выводе команды отображается идентификатор запущенного действия в ADBM в следующем формате:

Action id = <actionId>

Успешный результат команды также содержит название созданного бэкапа:

Logical backup <backupName> created
Пример
  • Без опции --file

  • С опцией --file

  1. Запустите следующую команду для создания бэкапа:

    $ 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
  2. Убедитесь, что параметры выбранной конфигурации (--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
      }
    }
  1. Создайте JSON-файл с конфигурационными параметрами:

    $ vi backup.json
    {
      "compressionLevel": 2,
      "compressionType": "zstd",
      "isMetadataOnly": true
    }
  2. Запустите следующую команду для создания бэкапа:

    $ 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
  3. Проверьте, что переданные в опции --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

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--backup-name

  • Для бинарных бэкапов — название точки восстановления (restore point).

  • Для логических бэкапов — название бэкапа в формате YYYYMMDDHHMMSS. Возвращается как результат выполнения команды backup create и может быть извлечено командой backup ls.

Да

 — 

--file

Путь к JSON-файлу с параметрами восстановления данных. При заполнении опции параметры берутся из файла. См. Параметры JSON-файла ниже

Нет

 — 

--log-level

Уровень логирования команды

Нет

info

--log-path

Путь к месту хранения логов команды

Нет

/home/gpadmin/gpAdminLogs

--help | -h

Позволяет вывести справочную информацию об опциях, поддерживаемых командой

Нет

 — 

Параметры JSON-файла

 

Шаблон:

{
  "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
}
Поля JSON
Поле Описание По умолчанию

copyQueueSize

Определяет количество команд COPY, которые утилита gprestore должна установить в очередь при восстановлении данных. Использование опции оптимизирует производительность операции восстановления за счет сокращения времени, необходимого для инициализации команд COPY. При значении опции, меньшем 2, gprestore ставит в очередь одну команду COPY за раз.

Может использоваться только в случае, если используемый для восстановления бэкап создан с опцией isSingleDataFile=true

 — 

jobs

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

Если выбранный для восстановления бэкап создан с опцией isSingleDataFile=true (для создания одного файла с данными на каждый сегмент), присвоение параметру jobs значения больше 1 не допускается

1

pluginConfig

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

Не допускается комбинировать с опцией backupDir

 — 

redirectSchema

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

Опцию redirectSchema необходимо использовать в комбинации с любой из опций, включающих таблицы или схемы: includeTable, includeTableFile, includeSchema, includeSchemaFile.

Не допускается использовать redirectSchema с опциями, исключающими таблицы или схемы (такими как excludeSchema, excludeSchemaFile, excludeTable, excludeTableFile).

Опция может быть использована в комбинации с isMetadataOnly и isDataOnly

 — 

redirectDb

Определяет имя базы данных, в которую требуется восстановить данные вместо забэкапированной БД

 — 

excludeSchema

Массив схем для исключения из операции восстановления.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

excludeTable

Массив таблиц для исключения из операции восстановления. Каждая таблица определяется в формате <schema_name>.<table_name>. Листовые партиции партиционированной таблицы не могут быть исключены.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

excludeSchemaFile

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

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

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

excludeTableFile

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

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

Листовые партиции партиционированной таблицы не могут быть исключены.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

includeSchema

Массив схем для восстановления. Прочие схемы исключаются из операции восстановления.

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

includeTable

Массив таблиц для восстановления. Прочие таблицы исключаются из операции восстановления.

Каждая таблица заполняется в формате <schema_name>.<table_name>. Не допускается указывать листовую партицию партиционированной таблицы.

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

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

{}

includeSchemaFile

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

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

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

includeTableFile

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

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

Не допускается указывать листовую партицию партиционированной таблицы.

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

Не допускается комбинирование с другими опциями фильтрации схем и таблиц

 — 

isDataOnly

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

false

isDebug

Определяет, показывать ли отладочные сообщения во время операции восстановления

false

isIncremental

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

Требует заполнения опции isDataOnly=true.

Является бета-функцией и не рекомендуется для использования в production-средах

false

isMetadataOnly

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

false

isWithStats

Определяет, восстанавливать ли статистику плана запросов. Если выбранный для восстановления бэкап не создавался с опцией isWithStats=true, при восстановлении вернется ошибка.

Не допускается комбинировать с опцией isRunAnalyze=true

false

isCreateDb

Определяет, создавать ли базу данных перед восстановлением данных.

База данных создается путем клонирования стандартной системной БД template0

false

isTruncateTable

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

Набор таблиц должен быть определен с помощью опции includeTable или includeTableFile. Также требуется использовать опцию isDataOnly для восстановления данных без создания объектов БД.

Допускается комбинировать с опцией redirectDb, но не с опцией redirectSchema

false

isResizeCluster

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

false

isOnErrorContinue

Определяет, продолжать ли операцию восстановления в случае возникновения SQL-ошибок при создании объектов БД (таблиц, ролей, функций и т.д.) или восстановлении данных. При возникновении ошибок других видов утилита завершает работу. По умолчанию (без использовании опции) выход происходит при возникновении первой ошибки.

При использовании isOnErrorContinue=true опции jobs и copyQueueSize недоступны для восстановления метаданных, поскольку параллельное восстановление метаданных небезопасно при наличии ошибок.

Также при использовании опции утилита gprestore записывает в директорию с бэкапом файлы, содержащие перечень таблиц, вызвавших SQL-ошибки

false

isWithGlobals

Определяет необходимость восстановления глобальных системных объектов ADB, наряду с объектами восстанавливаемой БД

false

isRunAnalyze

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

Если опция isWithStats=true использовалась при создании бэкапа, включенная в бэкап статистика игнорируется.

Не допускается комбинировать с опцией isWithStats=true.

В зависимости от размера восстанавливаемых таблиц, запуск ANALYZE может значительно увеличить общее время восстановления. В качестве альтернативы можно применить ANALYZE к таблицам после завершения их восстановления

false

ПРИМЕЧАНИЕ
Все поля в JSON-файле опциональны.
Выходные параметры

 

В выводе команды отображается идентификатор запущенного действия в ADBM в следующем формате:

Action id = <actionId>

Успешный результат команды также содержит название бэкпа, из которого были восстановлены данные:

Restore of <backupName> completed
Пример
  • Без опции --file

  • С опцией --file

$ 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
  1. Создайте JSON-файл с конфигурационными параметрами:

    $ vi restore.json
    {
      "redirectDb": "test2",
      "isCreateDb": true,
      "isRunAnalyze": true
    }
  2. Запустите следующую команду для восстановления данных из выбранного бэкапа:

    $ 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

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--database | -d

Название базы данных

Нет

 — 

--backup-type

Тип бэкапа. Возможные значения для логических бэкапов:

  • full — полный бэкап;

  • incremental — инкрементный бэкап.

Нет

 — 

--backup-status

Статус бэкапа. Возможные значения для логических бэкапов:

  • init — бэкап инициализиирован;

  • running — бэкап в процессе выполнения;

  • failed — бэкап завершен с ошибкой;

  • done — бэкап успешно завершен.

Нет

 — 

--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
  }
} ]
Поля JSON
Поле Описание

id

Идентификатор бэкапа

name

Название бэкапа. Возвращается как результат выполнения команды backup create и может быть извлечено с помощью команды backup ls

configId

Идентификатор конфигурации бэкапа. Возвращается как результат выполнения команды backup config create и может быть извлечен с помощью команды backup config ls

clusterId

Идентификатор кластера

startTime

Время создания записи (временная метка запуска бэкапа)

updateTime

Время редактирования записи (временная метка обновления статуса бэкапа)

status

Статус бэкапа. Возможные значения для логических бэкапов:

  • init — бэкап инициализиирован;

  • running — бэкап в процессе выполнения;

  • failed — бэкап завершен с ошибкой;

  • done — бэкап успешно завершен.

type

Тип бэкапа. Возможные значения для логических бэкапов:

  • full — полный бэкап;

  • incremental — инкрементный бэкап.

version

Версия утилиты gpbackup, использованная для создания бэкапа

database

Название базы данных

configParams

Конфигурационные параметры, использованные для создания бэкапа. Информацию по каждому доступному параметру можно получить в разделе Параметры JSON-файла из описания команды backup create.

Полностью параметры отображаются только в случае, если команда запускается для конкретного бэкапа (с установленной опцией --backup-name). В противном случае в выводе отсутствуют флаги (параметры с типом boolean). Строковые параметры с пустым значением не выводятся в любом случае

Пример
  • Без опции --backup-name

  • С опцией --backup-name

$ 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

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--backup-name

  • Для бинарных бэкапов — название точки восстановления (restore point).

  • Для логических бэкапов — название бэкапа в формате YYYYMMDDHHMMSS. Возвращается как результат выполнения команды backup create и может быть извлечено командой backup ls.

Да

 — 

--output

Формат вывода команды.

Возможные значения:

  • text

  • json

Нет

text

--log-level

Уровень логирования команды

Нет

info

--log-path

Путь к месту хранения логов команды

Нет

/home/gpadmin/gpAdminLogs

--help | -h

Позволяет вывести справочную информацию об опциях, поддерживаемых командой

Нет

 — 

Выходные параметры

 

Команда возвращает детальный отчет о выбранном бэкапе в форме текста или JSON-файла (в зависимости от значения опции --output). Этот отчет содержит версию ADB и gpbackup; опции команды, использованной для создания бэкапа; время запуска и завершения бэкапа и другую полезную информацию.

Пример
  • text

  • JSON

$ 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

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--backup-name

  • Для бинарных бэкапов — название точки восстановления (restore point).

  • Для логических бэкапов — название бэкапа в формате YYYYMMDDHHMMSS. Возвращается как результат выполнения команды backup create и может быть извлечено командой backup ls.

Да

 — 

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

Определяет тип бэкапов, которыми оперирует команда. Возможные значения:

  • binary | b — бинарные бэкапы;

  • logical | l — логические бэкапы.

Да

 — 

--action-id

Уникальный идентификатор действия. Возвращается следующими командами:

Да

 — 

--all

Определяет необходимость включения в командный вывод информации о дочерних действиях выбранного действия (в рамках поля childActions)

Нет

 — 

--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
}
Поля JSON
Поле Описание

clusterName

Название кластера

startTime

Временная метка начала действия

endTime

Временная метка завершения действия

result

Содержимое результата (при наличии)

actionData.id

Идентификатор действия

actionData.name

Название действия

actionData.status

Статус действия. Возможные значения:

  • Started — выполнение действия запущено.

  • Stopped — выполнение действия остановлено.

  • Done — действие завершено успешно.

  • Failed — действие завершено с ошибкой.

  • Terminating — выполняется прерывание выполнения действия.

  • Awaiting — действие в режиме ожидания.

  • Unknown — статус действия неизвестен.

  • Warning — в ходе выполнения действия возникли некоторые проблемы, однако они некритичны для верхнеуровневого (родительского) действия.

actionData.type

Тип действия. Возможные значения:

  • sql — SQL-запрос;

  • cmd — shell-команда;

  • api — API-вызов.

actionData.username

Имя пользователя, запустившего действие

childActions

Список дочерних действий (при наличии). Заполняется только в случае указания командной опции --all. Каждое дочернее действие описывается тем же набором полей, что и верхнеуровневое действие

level

Уровень вложенности действия. Принимает значение 0 для верхнеуровневого (родительского) действия, 1 для его дочерних действий и так далее.

Пример
  • Без опции --all

  • С опцией --all

$ 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
}
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней