【KingbaseES】sys_restore命令详解及示例

原文地址:https://blog.csdn.net/sinat_36528886/article/details/134491475

【KingbaseES】sys_restore命令详解及示例
一、概述
二、语法
一、概述
sys_restore — 从一个由 sys_dump 创建的归档文件恢复一个 KingbaseES 数据库

sys_restore 是一个用来从 sys_dump 创建的非文本格式归档恢复 KingbaseES 数据库的工具。它将发出必要的命令把该数据库重建成它被保存时的状态。这些归档文件还允许 sys_restore 选择恢复哪些内容或者在恢复前对恢复项重排序。这些归档文件被设计为可以在不同的架构之间迁移。

sys_restore 可以在两种模式下操作。如果指定了一个数据库名称,sys_restore 会连接那个数据库并且把归档内容直接恢复到该数据库中。否则,会创建一个脚本,其中包含着重建该数据库所必要的 SQL 命令,它会被写入到一个文件或者标准输出。这个脚本输出等效于 sys_dump 的纯文本输出格式。因此,一些控制输出的选项与 sys_dump 的选项类似。

显然,sys_restore 无法恢复不在归档文件中的信息。例如,如果归档使用“以 INSERT 命令转储数据”选项创建, sys_restore 将无法使用 COPY 语句装载数据。

二、语法
中文详解

[kingbase@node2 ~]$ sys_restore --help
sys_restore restores a Kingbase database from an archive created by sys_dump.

Usage:
sys_restore [OPTION]... [FILE]

General options:
-d, --dbname=NAME 数据库名
-f, --file=FILENAME 为生成的脚本指定输出文件,或在与-l选项一起使用时为列表指定输出文件
-F, --format=c|d|t 指定归档的格式。
c custom 归档是sys_dump的自定义格式。
d directory 归档是一个目录归档。
t tar 归档是一个tar归档。
-l, --list 列出归档的内容的表格。这个操作的输出能被用作-L选项的输入。注意如果把-n或-t这样的
过滤开关与-l一起使用,它们将会限制列出的项。
-v, --verbose 指定冗长模式。
-V, --version 打印该sys_restore的版本并退出。
-?, --help 打印该sys_restore的帮助文档并退出。

Options controlling the restore:
-a, --data-only 只恢复数据,不恢复数据定义,大对象和序列值也会被恢复。
-c, --clean 在重新创建数据库对象之前清除它们。
-C, --create 在恢复一个数据库之前先创建它。如果还指定了–clean,在连接到目标数据库之前重建
它。
-e, --exit-on-error 恢复期间碰到错误就退出,默认恢复结束时显示一个错误计数。
-I, --index=NAME 只恢复提及的索引的定义,可以通过写多个-I开关指定多个索引。
-j, --jobs=NUM 使用并发任务运行 sys_restore,这个选项只支持自定义和目录归档格式,输入必须是
一个常规文件或目录。
-k, --key=encryptkey specify encryption key
-L, --use-list=FILENAME 只恢复在list-file中列出的归档元素,并且按照它们出现在该文件中的顺序进行恢
复。注意如果把-n或-t这样的过滤开关与-L一起使用,它们将会进一步限制要恢复的
项。
--from-schema-case-sensitive 设置源模式大小写敏感。
-n, --schema=NAME 只恢复在被提及的模式中的对象。可以用多个-n开关来指定多个模式。这可以与-t选项
组合在一起只恢复一个指定的表。
-N, --exclude-schema=NAME 不恢复所提及方案中的对象。可以用多个-N开关指定多个要被排除的方案,优先级高于
-n。
--view-only 只恢复视图。
--recreate-view 重建视图。
-g, --fromSchema=NAME 源模式(默认大小写不敏感),恢复源模式中的对象到 -G 指定的目标模式中去,与
-G 一起使用。可以用多个 -g 开关来指定多个源模式。这可以与 -t 选项组合在一起
只恢复一个指定的表
-G, --toSchema=NAME 目标模式,恢复 -g 指定的源模式中的对象到目标模式中,与 -g 一起使用。可以用多
个 -G 开关来指定多个目标模式。
-O, --no-owner 恢复时排除原库 owner。
-P, --function=NAME(args) 只恢复被提及的函数,可以使用多个-P开关指定多个函数。
-s, --schema-only 只恢复数据定义,不恢复数据。
-S, --superuser=NAME 指定在禁用触发器时要用的超级用户名。只有使用–disable-triggers时这个选项才相
关。
-t, --table=NAME 只恢复所提及的表,“table”包括视图、物化视图、序列和外部表。
-T, --trigger=NAME 只恢复所提及的触发器,可以用多个-T开关指定多个触发器。
-x, --no-privileges 阻止恢复访问特权(授予/收回命令)。
-1, --single-transaction 将恢复作为单一事务执行(即把发出的命令包裹在BEGIN/COMMIT中),这个选项隐含
了–exit-on-error。
--disable-triggers 只有在执行一个只恢复数据的恢复时,这个选项才相关。它指示sys_restore在装载数
据时执行命令临时禁用目标表上的触发器。目前,为–disable-triggers发出的命令必
须以超级用户身份完成。因此你还应该用-S指定一个超级用户名,或者更好的方法是以
一个KingbaseES超级用户运行sys_restore。
--enable-row-security 只有在恢复具有行安全性的表的内容时,这个选项才相关。默认情况下,sys_restore
将把row_security设置为 off 来确保所有数据都被恢复到表中。注意当前这个选项还
要求转储处于INSERT格式,因为COPY FROM不支持行安全性。
--if-exists 使用条件命令(即增加一个IF EXISTS子句)删除数据库对象。只有指定了–clean时,
这个选项才有效。
--no-comments 不还原恢复注释的命令。
--no-data-for-failed-tables 默认情况下,即便表的创建命令失败(例如因为表已经存在),表数据也会被恢复。通
过这个选项,对这类表的数据会被跳过。只有当直接恢复到一个数据库中时这个选项才
有效,在产生 SQL脚本输出时这个选项不会产生效果。
--no-publications 不还原恢复publication的命令。
--no-security-labels 不还原恢复安全标签的命令。
--no-subscriptions 不还原恢复subscription的命令。
--no-tablespaces 不还原出命令选择表空间。通过这个选项,所有的对象都会被创建在恢复时的默认表空
间中。
--section=SECTION 只恢复提及的小节。小节的名称可以是pre-data、data或者post-data。可以把这个
选项指定多次来选择多个小节。默认值是恢复所有小节。 数据小节包含实际的表数据以
及大对象定义。Post-data 项由索引定义、触发器、规则和除已验证的检查约束之外的
约束构成。Pre-data 项由所有其他数据定义项构成。
--strict-names 要求每一个模式(-n/–schema)以及表(-t/–table)限定词匹配备份文件中至少一个
模式/表。
--use-set-session-authorization
输出 SQL 标准的SET SESSION AUTHORIZATION命令取代ALTER OWNER命令来决定对
象拥有权。这会让转储更加兼容标准,但是依赖于转储中对象的历史,可能无法正确恢
复。

Connection options:
-h, --host=HOSTNAME 数据库服务器的主机名或套接字目录
-p, --port=PORT 数据库服务器的端口号
-U, --username=NAME 以指定的数据库用户联接
-w, --no-password 永远不提示输入口令
-W, --password 强制口令提示 (自动)
--role=ROLENAME 在恢复前执行SET ROLE操作

The option -n and -g(-G) can not be combined.
The options -I, -n/-g(-G), -P, -t, -T, and --section can be combined and specified
multiple times to select multiple objects.

If no input file name is supplied, then standard input is used.

Report bugs to <kingbase-bugs@kingbase.com.cn>.
[kingbase@node2 ~]$

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/sinat_36528886/article/details/134491475

posted @ 2024-02-24 11:39  eyesfree  阅读(422)  评论(0编辑  收藏  举报