关于服务端工具gs_restore的部分解读

背景信息

gs_restore是openGauss提供的针对gs_dump导出数据的导入工具。通过此工具可由
gs_dump生成的导出文件进行导入。
gs_restore工具由操作系统用户omm执行。
主要功能包含:

  • 导入到数据库
    如果连接参数中指定了数据库,则数据将被导入到指定的数据库中。其中,并行导入必须指定连接的密码。
  • 导入到脚本文件
    如果未指定导入数据库,则创建包含重建数据库所必须的SQL语句脚本并写入到文件或者标准输出。等效于直接使用gs_dump导出为纯文本格式。

命令格式

gs_restore [OPTION]... FILE

参数说明

通用参数:

  • -d, --dbname=NAME
    连接数据库dbname并直接导入到该数据库中。
  • -f, --file=FILENAME
    指定生成脚本的输出文件,或使用-l时列表的输出文件。
    默认是标准输出。
  • -F, --format=c|d|t
    指定归档格式。由于gs_restore会自动决定格式,因此不需要指定格式。
    取值范围:
    – c/custom:该归档形式为3.6 gs_dump的自定义格式。
    – d/directory:该归档形式是一个目录归档形式。
    – t/tar:该归档形式是一个tar归档形式。
  • -l, --list
    列出归档形式内容。这一操作的输出可用作-L选项的输入。注意如果像-n或-t的过滤选项与-l使用,过滤选项将会限制列举的项目(即归档形式内容)。
  • -v, --verbose
    指定verbose模式。
  • -V, --version
    打印gs_restore版本,然后退出。
  • -?, --help
    显示gs_restore命令行参数帮助,然后退出。
  • -a, --data-only
    只导入数据,不导入模式(数据定义)。gs_restore的导入是以追加方式进行的。
  • -c, --clean
    在重新创建数据库对象前,清理(删除)已存在于将要还原的数据库中的数据库对象。
  • -C, --create
    导入到数据库之前先创建数据库。(选择该选项后,-d指定的数据库将被用作发布首个CREATE DATABASE命令。所有数据将被导入到创建的数据库中。)
  • -e, --exit-on-error
    当发送SQL语句到数据库时如果出现错误,请退出。默认状态下会继续,且在导入后会显示一系列错误信息。
  • -s, --schema-only
    只导入模式(数据定义),不导入数据(表内容)。当前的序列值也不会导入。
  • -S, --sysadmin=NAME
    该参数为扩展预留接口,不建议使用。

说明

  • 如果安装过程中有任何本地数据要添加到template1数据库,请谨慎将gs_restore的输出载入到一个真正的空数据库中;否则可能会因为被添加对象的定义被复制,而出现错误。要创建一个无本地添加的空数据库,需从template0而非template1复制,例如:
CREATE DATABASE foo WITH TEMPLATE template0;
  • gs_restore不能选择性地导入大对象;例如只能导入那些指定表的对象。如果某个归档形式包含大对象,那所有大对象都会被导入,或一个都不会被导入,如果它们通过-L、-t或其他选项被排除。

示例

特例:执行gsql程序,使用如下选项导入由gs_dump/gs_dumpall生成导出文件夹(纯
文本格式)的MPPDB_backup.sql文件到postgres数据库。

gsql -d postgres -p 15400 -W Bigdata@123 -f /home/omm/test/MPPDB_backup.sql
SET
SET
SET
SET
SET
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
CREATE INDEX
CREATE INDEX
CREATE INDEX
SET
CREATE INDEX
REVOKE
REVOKE
GRANT
GRANT
total time: 30476 ms

gs_restore用来导入由gs_dump生成的导出文件。
除特例外示例

  1. 执行gs_restore,将导出的MPPDB_backup.dmp文件(自定义归档格式)导入到postgres数据库。
gs_restore -W Bigdata@123 backup/MPPDB_backup.dmp -p 15400 -d postgres
gs_restore: restore operation successful
gs_restore: total time: 13053 ms
  1. 执行gs_restore,将导出的MPPDB_backup.tar文件(tar格式)导入到postgres数据库。
gs_restore backup/MPPDB_backup.tar -p 15400 -d postgres 
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 21203 ms
  1. 执行gs_restore,将导出的MPPDB_backup文件(目录格式)导入到postgres数据库。
gs_restore backup/MPPDB_backup -p 15400 -d postgres
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 21003 ms

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值