A set of parameters for GPUdb::restoreBackup. More…
#include <gpudb/protocol/restore_backup.h>
Public Member Functions | |
| RestoreBackupRequest () | |
| Constructs a RestoreBackupRequest object with default parameters. | |
| RestoreBackupRequest (const std::string &backupName_, const std::map< std::string, std::string > &restoreObjectsMap_, const std::string &datasourceName_, const std::map< std::string, std::string > &options_) | |
| Constructs a RestoreBackupRequest object with the specified parameters. | |
Public Attributes | |
| std::string | backupName |
| Name of the backup to restore from, which must refer to an existing backup. | |
| std::map< std::string, std::string > | restoreObjectsMap |
| Map of database objects to be restored from the backup. | |
| std::string | datasourceName |
| Data source through which the backup will be restored. | |
| std::map< std::string, std::string > | options |
| Optional parameters. | |
Detailed Description
A set of parameters for GPUdb::restoreBackup.
Restores database objects from a backup accessible via the data source specified by datasourceName.
Definition at line 22 of file restore_backup.h.
Constructor & Destructor Documentation
◆ RestoreBackupRequest() [1/2]
| inline |
Constructs a RestoreBackupRequest object with default parameters.
Definition at line 27 of file restore_backup.h.
◆ RestoreBackupRequest() [2/2]
| inline |
Constructs a RestoreBackupRequest object with the specified parameters.
| [in] | backupName_ | Name of the backup to restore from, which must refer to an existing backup. The default value is ”. |
| [in] | restoreObjectsMap_ | Map of database objects to be restored from the backup.
|
| [in] | datasourceName_ | Data source through which the backup will be restored. |
| [in] | options_ | Optional parameters.
|
Definition at line 535 of file restore_backup.h.
Member Data Documentation
◆ backupName
| std::string gpudb::RestoreBackupRequest::backupName |
Name of the backup to restore from, which must refer to an existing backup.
The default value is ”.
Definition at line 547 of file restore_backup.h.
◆ datasourceName
| std::string gpudb::RestoreBackupRequest::datasourceName |
Data source through which the backup will be restored.
Definition at line 625 of file restore_backup.h.
◆ options
| std::map<std::string, std::string> gpudb::RestoreBackupRequest::options |
Optional parameters.
- restore_backup_backup_id: ID of the snapshot to restore. Leave empty to restore the most recent snapshot in the backup. The default value is ”.
- restore_backup_checksum: Whether or not to verify checksums for backup files when restoring. Supported values:The default value is restore_backup_false.
- restore_backup_cascade_foreign_keys: Whether to drop live foreign-key-referencing tables that are not themselves part of the backup, when the table they reference is being replaced. Only applies when restore_policy is replace. Supported values:
- restore_backup_true: Drop any live table whose foreign key references a table being replaced, even when that table is not in the backup and therefore will not be restored.
- restore_backup_false: Fail the restore of a table that is referenced by a live foreign-key table which is not part of the backup, rather than destroying data the backup cannot restore.
- restore_backup_create_schema_if_not_exist: Behavior to apply when the schema containing any database object to restore does not already exist. Supported values:
- restore_backup_true: If the schema containing any restored object does not exist, create it automatically.
- restore_backup_false: If the schema containing any restored object does not exist, return an error.
- restore_backup_ddl_only: Behavior to apply when restoring tables. Supported values:
- restore_backup_true: Restore table DDL, but do not restore data.
- restore_backup_false: Restore tables and their data.
- restore_backup_dry_run: Whether or not to perform a dry run of the restoration operation. With a restore_policy of clean or clean_all, a dry run lists the objects the clean would drop in the clean_dropped_objects entry of the response info map and drops nothing, and fails as the restore would if the clean is refused. Supported values:The default value is restore_backup_false.
- restore_backup_restore_subscriptions: Behavior to apply when restoring datasource subscriptions on tables. Supported values:
- restore_backup_resume: Resume subscriptions that were active when the backup was made.
- restore_backup_pause: Pause subscriptions that were active when the backup was made.
- restore_backup_cancel: Cancel active subscriptions.
- restore_backup_reingest: Behavior to apply when restoring table data. Supported values:
- restore_backup_true: Restore table data by re-ingesting it. This is the default behavior if the cluster topology differs from that of the contained backup.
- restore_backup_false: Restore the persisted data files directly.
- restore_backup_renamed_objects_schema: If the restore_policy is rename, use this schema for relocated existing objects instead of the default generated one. The default value is ”.
- restore_backup_restore_all_permissions: Whether or not all permissions of restored principals should be restored or scoped to the restored objects. When restore_policy is clean or clean_all, the default is true: the clean drops each principal in scope along with all of its permissions, including those on objects it does not drop. Supported values:
- restore_backup_true: Restore all permissions.
- restore_backup_false: Restore only permissions on restored objects.
- restore_backup_restore_policy: Behavior to apply when any database object to restore already exists. Supported values:
- restore_backup_none: If an object to be restored already exists with the same name, abort and return error.
- restore_backup_replace: If an object to be restored already exists with the same name, replace it with the backup version. Only objects in the backup are dropped; existing objects that are not in the backup are kept, so the result is a merge of the backup into the database. To drop those as well, use clean.
- restore_backup_rename: If an object to be restored already exists with the same name, move that existing one to the schema specified by renamed_objects_schema. This policy does not apply to non-schema objects.
- restore_backup_clean: Before restoring, drop every existing object of each object type being restored, whether or not that object is in the backup, including objects that are not persisted; object types not being restored are left untouched, and schemas are not dropped. Unlike replace, the clean is scoped by object type, not by name: restoring a single table drops every table in the database first, and the response warns when the objects to restore name specific objects of a type rather than all of them. Use dry_run to list the objects that would be dropped. The restore is refused, before anything is dropped, if an object that would be dropped is still used by an object of a type that is not being restored, or cannot be dropped, such as a table locked by a backup in progress. As graphs, contexts, table monitors and stored procedures all depend on tables, restoring tables requires restoring each of those types of which any objects exist. A data sink generated for a monitor is dropped along with the monitor, and a home directory only along with its user. Objects created by other sessions while the restore runs are not dropped. If the restore fails after the clean, the dropped objects are not put back. System objects, the data source being restored from and its credential, the calling user and admin, with their default schemas, home directories and resource groups, and the calling user’s roles are never dropped, nor are the schemas holding any of these. Requires system administrator permission.
- restore_backup_clean_all: Before restoring, drop every existing object in the database, regardless of which objects are being restored, including users, roles, non-system schemas and objects that are not persisted. The restore is refused, before anything is dropped, if an object cannot be dropped, such as a table locked by a backup in progress, or is still used by an object the clean keeps, such as a resource group a system user is in; it also requires create_schema_if_not_exist to be true. If the restore fails after the clean, the dropped objects are not put back. System objects, the data source being restored from and its credential, the calling user and admin, with their default schemas, home directories and resource groups, and the calling user’s roles are never dropped, nor are the schemas holding any of these. Requires system administrator permission.
- restore_backup_target_schema_map: Restore schema-based objects to alternate schema. Value is a comma delimitted list of key:value pairs mapping the original (source) schema name as it exists in the backup to a target (destination) schema namespace: “src: dst [, src: dst [, …]]”. Note that schema names are case sensitive and must adhere to the database schema naming criteria. The default value is ”.
The default value is an empty map.
Definition at line 871 of file restore_backup.h.
◆ restoreObjectsMap
| std::map<std::string, std::string> gpudb::RestoreBackupRequest::restoreObjectsMap |
Map of database objects to be restored from the backup.
- restore_backup_all: All object types and data contained in the given schema(s).
- restore_backup_catalog: Data Lake catalog that is external to the database.
- restore_backup_context: Context(s).
- restore_backup_credential: Credential(s).
- restore_backup_datasink: Data sink(s).
- restore_backup_datasource: Data source(s).
- restore_backup_directory: KiFS File directory(ies).
- restore_backup_function_environment: Python UDF function environment(s).
- restore_backup_graph: Graph definition(s). Source table(s), if applicable, are required in order to restore graph objects.
- restore_backup_monitor: Table monitor(s) / SQL stream(s).
- restore_backup_resource_group: Resource group(s).
- restore_backup_role: Role(s), role members (roles or users, recursively), and associated permissions.
- restore_backup_stored_procedure: SQL procedure(s).
- restore_backup_table: Table(s) and SQL view(s). Tables with subscriptions will by default be restored in the state they were in at the time of the snapshot. See restore_subscriptions for options to override the default behavior.
- restore_backup_user: User(s) (internal and external) and associated permissions.
- restore_backup_user_defined_function: UDF(s).
Definition at line 620 of file restore_backup.h.
The documentation for this struct was generated from the following file:
- gpudb/protocol/restore_backup.h