vb_restore
背景信息
vb_restore是VexDB提供的针对vb_dump导出数据的导入工具。通过此工具可导入由vb_dump生成的二进制归档格式(c)、目录格式(d)、tar格式(t)的备份文件。
vb_restore的主要功能包含:
- 导入到数据库
如果连接参数中指定了数据库,则数据将被导入到指定的数据库中。其中,并行导入必须指定连接的密码。导入时生成列会自动更新,并像普通列一样保存。 - 导入到脚本文件
如果未指定导入数据库,则必须指定list选项。将会创建包含重建数据库所必须的SQL语句脚本并写入到文件或者标准输出。等效于直接使用vb_dump导出为纯文本格式。多用于TOC文件选择性恢复。
工具运行产生的日志位于 $GAUSSLOG/bin/vb_restore
目录下,每个日志最大 16 MB,最多保留 50 个。如果没有配置环境变量 $GAUSSLOG,则不会产生日志文件。
注意事项
- vb_restore工具由安装VexDB数据库的操作系统用户执行。
- 一旦恢复,最好在每个数据库上运行ANALYZE | ANALYSE,优化程序提供有用的统计数据。
- 如果安装过程中有任何本地数据要添加到template1数据库,请谨慎将vb_restore的输出载入到一个真正的空数据库中;否则可能会因为被添加对象的定义被复制,而出现错误。要创建一个无本地添加的空数据库,需从template0而非template1复制,例如:
CREATE DATABASE foo WITH TEMPLATE template0;
- vb_restore不能选择性地导入大对象;例如只能导入那些指定表的对象。如果某个归档形式包含大对象,那所有大对象都会被导入或一个都不会被导入。如果此归档对象通过-L、-t或其他选项被排除,那么所有大对象一个都不会被导入。
- vb_restore默认是以追加的方式进行数据导入。为避免多次导入造成数据异常,在进行导入时,建议使用“-c”参数,在重新创建数据库对象前,清理(删除)已存在于将要还原的数据库中的数据库对象。
- 日志打印无开关,若需隐藏日志,请将日志重定向到日志文件。若恢复表数据时,数据量很大,会分批恢复,因此会多次出现“表数据已完成导入”的日志。
- 排除表恢复不支持指定某一子分区,对于分区表可用参数--exclude-table-file或--exclude-table指定分区表。
- --exclude-table和--exclude-table-file不支持和以下参数同时使用:
- -t, --table=NAME
- -I, --index=NAME
- -s, --schema-only
命令格式
vb_restore [OPTION]... FILE
- FILE没有短选项或长选项。用来指定归档文件所处的位置。
- 作为前提条件,需输入dbname或-l选项。不允许用户同时输入dbname和-l选项。
通用参数:
General options:
-d, --dbname=NAME connect to database name
-f, --file=FILENAME output file name
-F, --format=c|d|t backup file format (should be automatic)
-l, --list print summarized TOC of the archive
-v, --verbose verbose mode
-V, --version output version information, then exit
-?, --help show this help, then exit
恢复控制参数:
Options controlling the restore:
-a, --data-only restore only the data, no schema
-c, --clean clean (drop) database objects before recreating
-C, --create create the target database
-e, --exit-on-error exit on error, default is to continue
-I, --index=NAME restore named index(s)
-j, --jobs=NUM use this many parallel jobs to restore
-L, --use-list=FILENAME use table of contents from this file for
selecting/ordering output
-n, --schema=NAME restore only objects in this schema(s)
-O, --no-owner skip restoration of object ownership
-P, --function=NAME(args) restore named function(s)
-r, --remap-schema=SCHEMA1:SCHEMA2 change SCHEMA1 to SCHEMA2 while restore
-s, --schema-only restore only the schema, no data
-S, --sysadmin=NAME system admin user name to use for disabling triggers
-t, --table=NAME restore named table(s)
-T, --trigger=NAME restore named trigger(s)
-x, --no-privileges/--no-acl skip restoration of access privileges (grant/revoke)
-1, --single-transaction restore as a single transaction
--disable-triggers disable triggers during data-only restore
--no-data-for-failed-tables do not restore data of tables
that could not be created
--sess-replic-role=replica Set the guc parameter session
_replication_role
--no-publications do not restore publications
--no-security-labels do not restore security labels
--no-subscriptions do not restore subscriptions
--no-tablespaces do not restore tablespace assignments
--section=SECTION restore named section (pre-data, data, or post-data)
--use-set-session-authorization use SET SESSION AUTHORIZATION commands instead of
ALTER OWNER commands to set ownership
--pipeline use pipeline to pass the password,
forbidden to use in terminal
--with-decryption=AES128/SM4 restore data is decrypted using AES128 or SM4 in hardware encryption mode
--with-key=KEY hardware encryption device internal key index
--with-salt=RANDVALUES random values for decrypt
--exclude-table exclude single table, input format: SCHEMA.Object
--exclude-table-file=FileName exclude one or more tables, input file format: SCHEMA.Object in each line.
连接参数:
Connection options:
-h, --host=HOSTNAME database server host or socket directory
-p, --port=PORT database server port number
-U, --username=NAME connect as specified database user
-w, --no-password never prompt for password
-W, --password=PASSWORD the password of specified database user
--role=ROLENAME do SET ROLE before restore
--rolepassword=ROLEPASSWORD the password for role
参数说明
通用参数
- -d, --dbname=NAME
连接数据库dbname并直接导入到该数据库中。 - -f, --file=FILENAME
指定生成脚本的输出文件,或使用-l时列表的输出文件。
默认是标准输出。
-d/--dbname和-f/--file 不能同时使用。 - -F, --format=c|d|t
指定归档格式。由于vb_restore会自动决定格式,因此不需要指定格式。
取值范围:- c/custom:该归档形式为vb_dump的二进制格式。
- d/directory:该归档形式是一个目录归档形式。
- t/tar:该归档形式是一个tar归档形式。
- -l, --list
列出归档形式内容。这一操作的输出可用作-L选项的输入。注意如果像-n或-t的过滤选项与-l使用,过滤选项将会限制列举的项目(即归档形式内容)。 - -v, --verbose
开启冗长模式,打印详细信息。 - -V, --version
打印vb_restore版本,然后退出。 - -?, --help
显示vb_restore命令行参数帮助,然后退出。
恢复控制参数
- -a, --data-only
只导入数据,不导入模式(数据定义)。vb_restore的导入是以追加方式进行的。
-s/--schema-only 和 -a/--data-only不能同时使用。 - -c, --clean
在重新创建数据库对象前,清理(删除)已存在于将要还原的数据库中的数据库对象。
-c/--clean 和 -a/--data-only不能同时使用。 - -C, --create
导入数据库之前会先使用CREATE DATABASE创建导出时连接的数据库。(指定该选项后,-d指定的数据库仅用于数据库连接,所有数据会导入到创建的数据库中。)
对于VexDB数据库而言,当前此参数暂无任何实际作用,-d参数指定的数据库就是数据恢复或导入的实际目标。 - -e, --exit-on-error
当发送SQL语句到数据库时如果出现错误,请退出。默认状态下会继续,且在导入后会显示一系列错误信息。 - -I, --index=NAME
只导入已列举的index的定义。允许导入多个index。如果多次输入-I index导入多个index。
例如:vb_restore -h host_name -p port_number -d postgres -I Index1 -I Index2 backup/MPPDB_backup.tar
在上面这个例子中,Index1和Index2会被导入。 - -j, --jobs=NUM
运行vb_restore最耗时的部分(如加载数据、创建index或创建约束)使用并发任务。该选项能大幅缩短导入时间,即将一个大型数据库导入到某一多处理器的服务器上。
使用--single-transaction时,-j/--jobs必须为单任务。说明
- 每个任务可能是一个进程或一个线程,这由操作系统决定。每个任务与服务器进行单独连接。
- 该选项的最优值取决于服务器的硬件设置、客户端以及网络。还包括这些因素,如CPU核数量、硬盘设置。建议是从增加服务器上的CPU核数量入手,更大的值(服务器上CPU核数量)在很多情况下也能导致数据文件更快的被导入。当然,过高的值会由于超负荷反而导致性能降低。
- 该选项只支持二进制归档格式(c)和目录格式(d)。输入文件必须是常规文件(不能是像pipe的文件)。如果是通过脚本文件,而非直接连接数据库服务器,该选项可忽略。而且,多任务不能与--single-transaction选项一起使用。
- -L, --use-list=list-file
只导入列举在list-file中的那些归档形式元素,导入顺序以它们在文件中的顺序为准。注意如果像-n或-t的过滤选项与-L使用,它们将会进一步限制导入的项目。一般情况下,list-file是通过编辑前面提到的某个-l参数的输出创建的。文件行的位置可更改或直接删除,也可使用分号(;)在行的开始注出。
当语句中指定了-L,而没有指定dbname时,将list-file中过滤后的恢复命令输出到屏幕,而不实际进行恢复操作。用法参考示例5:-L输出恢复语句但不执行恢复。
将恢复命令输出到屏幕时,会一并输出vb_restore恢复过程中对数据库参数的修改(比如将client_min_messages修改为最小级别来忽略恢复过程中的问题),这些修改在数据库中执行后可能造成非预期的结果。如果恢复过程不想执行这些参数的改动,可以编辑基于备份文件生成的SQL脚本,删除或注释掉脚本中需要跳过的操作,再使用vsql工具恢复。 - -n, --schema=NAME
只导入已列举的模式中的对象。该选项可与-t选项一起用以导入某个指定的表。多次输入-n _schemaname_可以导入多个模式。
例如:vb_restore -h host_name -p port_number -d postgres -n sch1 -n sch2 backup/MPPDB_backup.tar
在上面这个例子中,sch1和sch2会被导入。 - -O, --no-owner
不输出设置对象的归属这样的命令,以匹配原始数据库。默认情况下,vb_restore会发出ALTER OWNER或SET SESSION AUTHORIZATION语句设置所创建的模式元素的所属。除非是由系统管理员(或是拥有脚本中所有对象的同一个用户)进行数据库首次连接的操作,否则语句会失败。使用-O选项,任何用户名都可用于首次连接,且该用户拥有所有已创建的对象。 - -P, --function=NAME(args)
只导入已列举的函数。请按照函数所在转储文件中的目录,准确拼写函数名称和参数。当-P单独使用时,表示导入文件中所有'function-name(args)'函数;当-P同-n一起使用时,表示导入指定模式下的'function-name(args)'函数;多次输入-P,而仅指定一次-n,表示所有导入的函数默认都是位于-n模式下的。可以多次输入-n schema-name -P 'function-name(args)'同时导入多个指定模式下的函数。
例如:vb_restore -h host_name -p port_number -d postgres -n test1 -P 'Func1(integer)' -n test2 -P 'Func2(integer)' backup/MPPDB_backup.tar
在上面这个例子中,test1模式下的函数Func1(i integer)和test2模式下的函数Func2(j integer)会被一起导入。 - -r, --remap-schema=SCHEMA1:SCHEMA2
恢复时将SCHEMA1更改为SCHEMA2进行恢复。不支持与以下参数同时使用:- -a, --data-only restore only the data, no schema
- -c, --clean clean (drop) database objects before recreating
- -C, --create create the target database
- -O, --no-owner skip restoration of object ownership
- -s, --schema-only
只导入模式(数据定义),不导入数据(表内容)。当前的序列值也不会导入。
-s/--schema-only 和 -a/--data-only不能同时使用。
若在使用vb_dump导出时指定了只导出模式(即指定了-s参数),则导入时必须指定本参数。 - -S, --sysadmin=NAME
该参数为扩展预留接口,不建议使用。 - -t, --table=NAME
只导入已列举的表定义、数据或定义和数据。该选项与-n选项同时使用时,用来指定某个模式下的表对象。-n参数不输入时,默认为PUBLIC模式。多次输入-n-t 可以导入指定模式下的多个表。
例如:
导入PUBLIC模式下的table1:vb_restore -h host_name -p port_number -d postgres -t table1 backup/MPPDB_backup.tar
导入test1模式下的test1和test2模式下test2:vb_restore -h host_name -p port_number -d postgres -n test1 -t test1 -n test2 -t test2 backup/MPPDB_backup.tar
导入PUBLIC模式下的table1和test1 模式下test1:vb_restore -h host_name -p port_number -d postgres -n PUBLIC -t table1 -n test1 -t table1 backup/MPPDB_backup.tar
-t不支持schema_name.table_name,指定此格式不会报错,但不会生效。 - -T, --trigger=NAME
该参数为扩展预留接口。 - -x, --no-privileges/--no-acl
防止导入访问权限(GRANT/REVOKE命令)。 - -1, --single-transaction
执行导入作为一个单独事务(即把命令包围在BEGIN/COMMIT中)。该选项确保要么所有命令成功完成,要么没有改变应用。该选项意为--exit-on-error。
使用--single-transaction时,-j/--jobs必须为单任务。 - --disable-triggers
该参数为扩展预留接口,不建议使用。 - --no-data-for-failed-tables
默认状态下,即使创建表的命令失败(如表已经存在),表数据仍会被导入。使用该选项,像这种表的数据会被跳过。如果目标数据库已包含想要的表内容,这种行为会有帮助。该选项只有在直接导入到某数据库中时有效,不针对生成SQL脚本文件输出。 - --sess-replic-role=replica
导入时提前设置guc参数session_replication_role为replica,以避免触发器行为、重写规则对恢复过程的影响。
由于session_replication_role是SUSET类型参数,只允许数据库管理员用户进行修改,使用普通用户导入时该设置不生效,会报错提示权限不足,无法修改参数。 - --no-publications
不导入发布。 - --no-security-labels
该参数为扩展预留接口,不建议使用。 - --no-subscriptions
不导入订阅。 - --no-tablespaces
不输出选择表空间的命令。使用该选项,无论默认表空间是哪个,在导入过程中所有对象都会被创建。 - --section=SECTION
导入已列举的区段(如pre-data、data或post-data)。 - --use-set-session-authorization
该选项用来进行文本格式的备份。
输出SET SESSION AUTHORIZATION命令,而非ALTER OWNER命令,用以决定对象归属。该选项使转储更加兼容标准,但通过参考转储中对象的记录,导入过程可能会有问题。使用SET SESSION AUTHORIZATION的转储要求必须是系统管理员,同时在导入前还需参考SET SESSION AUTHORIZATION,手工对导出文件的密码进行修改验证,只有这样才能进行正确的导入操作,相比之下,ALTER OWNER对权限要求较低。 - --pipeline
使用管道传输密码,禁止在终端使用。 - --with-decryption=AES128/SM4
还原数据时采用AES128或SM4硬件加密方式解密。
若导出时使用--with-encryption指定了加密方式,则恢复时需要指定此参数并采用同样的方式进行解密。
该选项必须与--with-key和--with-salt同时使用。 - --with-key=KEY
硬件加密设备内部的密钥索引。 - --with-salt=RANDVALUES
用于解密的随机盐值。- 必须为16个字符的字符串。
- 恢复时指定的盐值必须与加密导出时指定的盐值相同。
- --exclude-table
排除指定表进行恢复,输入格式为SCHEMA.OBJECT。不支持与以下参数同时使用:- -t, --table=NAME restore named table(s)
- -I, --index=NAME restore named index(s)
- -s, --schema-only restore only the schema, no data
- --exclude-table-file=FileName
排除指定文件中包含的单表或多表进行恢复,文件格式为每行指定SCHEMA.OBJECT。不支持与以下参数同时使用:- -t, --table=NAME restore named table(s)
- -I, --index=NAME restore named index(s)
- -s, --schema-only restore only the schema, no data
--exclude-table-file仅限于排除表,与其他数据库对象无关。
连接参数
- -h, --host=HOSTNAME
指定的主机名称。如果取值是以斜线开头,将用作Unix域套接字的目录。默认值取自PGHOST环境变量;如果没有设置,将启动某个Unix域套接字建立连接。该参数只针对VexDB外,对VexDB内本机只能用127.0.0.1。
环境变量:PGHOST - -p, --port=PORT
指定服务器所侦听的TCP端口或本地Unix域套接字后缀,以确保连接。默认值设置为PGPORT环境变量。在开启线程池情况下,建议使用 pooler port,即侦听端口+1。
环境变量:PGPORT - -U, --username=NAME
所连接的用户名。
环境变量:PGUESR - -w, --no-password
不出现输入密码提示。如果服务器要求密码认证并且密码没有通过其它形式给出,则连接尝试将会失败。 该选项在批量工作和不存在用户输入密码的脚本中很有帮助。 - -W, --password=PASSWORD
指定用户连接的密码。如果主机的认证策略是trust,则不会对系统管理员进行密码验证,即无需输入-W参数;如果没有-W参数,并且不是系统管理员,vb_restore会提示用户输入密码。 - --role=ROLENAME
指定导入操作使用的角色名。选择该参数,会使vb_restore连接数据库后,发起一个SET ROLE角色名命令。当所授权用户(由-U指定)没有vb_restore要求的权限时,该参数会起到作用,即切换到具备相应权限的角色。某些安装操作规定不允许直接以初始用户身份登录,而使用该参数能够在不违反该规定的情况下完成导入。 - --rolepassword=ROLEPASSWORD
指定具体角色用户的角色密码。
--role 和--rolepassword必须一起使用。
TOC文件选择性恢复
功能描述
使用vb_restore还原除了纯文本格式以外的备份时,可以通过生成并编辑TOC控制文件,将文件内的行注释、删除或重新排列,达到定制还原效果的目的。
注意事项
- 用户可以在生成控制文件后,以行前加分号“;”的方式注释掉不用还原的内容。
- 控制文件内,每行开头的数字代表赋给每个项目的内部归档 ID。
语法格式
生成控制文件的语句如下:
vb_restore -l -f test.toc backup.dmp
或者:
vb_restore -l backup.dmp > test.sql
上述语句中:
- test.toc、test.sql是生成的控制文件的名称(包括路径)。
- backup.dmp是通过vb_dump导出得到的备份文件名称(包括路径),备份文件也可以是tar格式或者目录格式。
TOC控制文件的使用请参考示例4。
示例
说明
示例中待恢复的备份文件均来自vb_dump的示例。
示例1
创建新数据库并恢复
恢复vb_dump示例4中的备份文件backup4_1.dmp,恢复时指定其恢复到一个新的数据库。
- 使用vsql工具连接至数据库vexdb。
- 创建数据库test5的数据库。
CREATE database test5;
- 退出vsql程序,执行导入操作。
vb_restore -d test5 $PGDATA/backup4_1.dmp
- 完成导入操作后,使用vsql工具连接至test5数据库。
vsql -d test5 -p 5432 -r
- 使用如下语句查看导入结果。
select * from table1; select * from table2; select * from table3;
返回结果如下,表示已成功导入test5库,数据库中的每张表都有且仅有一条数据。name | id -------+---- alice | 1 (1 row) name | id ------+---- jack | 2 (1 row) name | id ------+---- bob | 3 (1 row)
示例2
-c清理对象再恢复
在本文示例1的基础上,再次执行恢复语句导入backup4_1.dmp。在执行时指定-c,表示恢复数据前先删除对象,恢复操作不会导致数据重复。
- 执行导入语句。
vb_restore -d test5 $PGDATA/backup4_1.dmp -c
- 完成导入操作后,使用vsql工具连接至test5数据库。
vsql -d test5 -p 5432 -r
- 使用如下语句查看导入结果。
select * from table1; select * from table2; select * from table3;
返回结果如下,表示已成功导入test5库,数据库中的每张表都有且仅有一条数据。name | id -------+---- alice | 1 (1 row) name | id ------+---- jack | 2 (1 row) name | id ------+---- bob | 3 (1 row)
示例3
-s仅恢复定义
在一个新数据库内恢复vb_dump示例4的备份文件backup4_1.dmp。在恢复时指定-s,代表仅恢复定义。
- 使用vsql工具连接至数据库vexdb。
vsql -d vexdb -p 5432 -r
- 创建用于恢复的数据库testdb4。
create database testdb4;
- 退出vsql程序,执行恢复语句。
vb_restore -d testdb4 $PGDATA/backup4_1.dmp -s
- 恢复成功后,使用vsql工具连接至数据库testdb4。
vsql -d testdb4 -p 5432 -r
- 使用如下语句查看恢复情况。
select * from table1; select * from table2; select * from table3;
返回结果如下,表示已成功将table1、table2、table3导入到数据库testdb4中,只包括定义,不包括数据。name | id ------+---- (0 rows) name | id ------+---- (0 rows) name | id ------+---- (0 rows)
示例4
TOC文件选择性恢复
在一个新数据库内恢复vb_dump示例4的备份文件backup4_1.dmp,并通过TOC控制文件排除表table2。
- 使用vsql工具连接至数据库vexdb,创建用于恢复的数据库testdb5。
create database testdb5;
- 退出vsql程序,为备份文件backup4_1生成相应的TOC控制文件。
vb_restore -l -f test.toc $PGDATA/backup4_1.dmp
- 查看TOC文件的内容。
vi test.toc
在包含table2信息的第17和22行首加上分号;
注释掉内容,修改后的示例如下。修改后保存退出。; ; Archive created at Thu Apr 20 16:45:52 2023 ; dbname: test4 ; TOC Entries: 10 ; Compression: -1 ; Dump Version: 1.12-0 ; Format: CUSTOM ; Integer: 4 bytes ; Offset: 8 bytes ; Dumped from database version: 9.2.4 ; Dumped bygs_dump version: 9.2.4 ; ; ; Selected TOC Entries: ; 720; 1259 16619 TABLE public table1 vexdb ;721; 1259 16625 TABLE public table2 vexdb 722; 1259 16631 TABLE public table3 vexdb 447; 1259 13336 VIEW public vb_login_info vexdb 5527; 0 0 ACL public vb_login_info vexdb 5519; 0 16619 TABLE DATA public table1 vexdb ;5520; 0 16625 TABLE DATA public table2 vexdb 5521; 0 16631 TABLE DATA public table3 vexdb
- 使用TOC控制文件完成恢复。
vb_restore -Fc -C -L test.toc -d testdb5 $PGDATA/backup4_1.dmp
- 完成恢复后,使用vsql工具连接至数据库testdb5。
vsql -d testdb5 -p 5432 -r
- 查看当前数据库的表信息。
\d
返回结果如下,表示成功导入了table1和table3。List of relations Schema | Name | Type | Owner | Storage --------+---------------+-------+----------+------------------------------------------------ public | table1 | table | vexdb | {orientation=row,compression=no,fillfactor=80} public | table3 | table | vexdb | {orientation=row,compression=no,fillfactor=80} public | vb_login_info | view | vexdb | (3 rows)
- 查看table1和table3的数据。
select * from table1; select * from table3;
返回结果如下:name | id ------+---- alice | 1 (1 row) name | id ------+---- bob | 3 (1 row)
示例5
-L输出恢复语句但不执行恢复
- 在vexdb数据库中创建测试表并插入测试数据,查看测试表数据。
CREATE TABLE table_test1 ( col1 NUMBER, col2 VARCHAR2(50), col3 VARCHAR2(50), col4 VARCHAR2(100), col5 DATE); INSERT INTO table_test1(col1, col2, col3, col4, col5) VALUES(1, 'value1', 'value2', 'some text', TO_DATE('2022-01-01', 'YYYY-MM-DD')); SELECT * FROM table_test1;
返回结果如下:col1 | col2 | col3 | col4 | col5 ------+--------+--------+-----------+------------ 1 | value1 | value2 | some text | 2022-01-01 (1 row)
- 退出数据库连接,使用安装VexDB的操作系统用户执行vb_dump命令,备份vexdb数据库的内容。
vb_dump vexdb -t table_test1 -F c -f /tmp/bak_test.dmp
- 备份成功后,使用vb_restore的-l选项生成一个归档文件list-file。
vb_restore -l -f /tmp/testsql.list /tmp/bak_test.dmp
- 使用vb_restore的-L选项,依据list-file输出过滤后的恢复语句。
vb_restore -L /tmp/testsql.list /tmp/bak_test.dmp
返回结果如下:-- --vexdb dump -- SET statement_timeout = 0; SET xmloption = content; SET client_encoding = 'UTF8'; SET standard_conforming_strings = on; SET uppercase_attribute_name = false; SET check_function_bodies = false; SET session_replication_role = replica; SET client_min_messages = warning; SET enable_dump_trigger_definer = on; SET behavior_compat_options = ''; SET search_path = public; SET default_tablespace = ''; SET default_with_oids = false; -- -- Name: table_test1; Type: TABLE; Schema: public; Owner:vexdb; Tablespace: -- CREATE TABLE table_test1 ( col1 numeric, col2 varchar(50), col3 varchar(50), col4 varchar(100), col5 date ) WITH (orientation=row, compression=no, fillfactor=80); ALTER TABLE public.table_test1 OWNER TO vexdb; -- -- Data for Name: table_test1; Type: TABLE DATA; Schema: public; Owner:vexdb-- COPY table_test1 (col1, col2, col3, col4, col5) FROM stdin; 1 value1 value2 some text 2022-01-01 \. ; -- -- reset some params -- RESET session_replication_role; -- --vexdb dump complete --
- 后续可以按需选择使用vb_restore恢复,或者通过编辑基于备份文件生成的SQL脚本来调整恢复流程和效果,再使用vsql工具恢复。后续恢复步骤此处不再演示。
基于备份文件生成SQL脚本的命令如下:vb_restore -L /tmp/testsql.list /tmp/bak_test.dmp > /tmp/test.sql