openGauss学习笔记168 openGauss 数据库运维备份与恢复导入数据使用gs_restore命令导入数据
openGauss学习笔记-168 openGauss 数据库运维-备份与恢复-导入数据-使用gs_restore命令导入数据168.1 操作场景168.2 操作步骤168.3 示例
openGauss学习笔记-168 openGauss 数据库运维-备份与恢复-导入数据-使用gs_restore命令导入数据
168.1 操作场景
gs_restore是openGauss数据库提供的与gs_dump配套的导入工具。通过该工具,可将gs_dump导出的文件导入至数据库。gs_restore支持导入的文件格式包含自定义归档格式、目录归档格式和tar归档格式。
gs_restore具备如下两种功能。
导入至数据库
如果指定了数据库,则数据将被导入到指定的数据库中。其中,并行导入必须指定连接数据库的密码。导入时生成列会自动更新,并像普通列一样保存。
导入至脚本文件
如果未指定导入数据库,则创建包含重建数据库所需的SQL语句脚本,并将其写入至文件或者标准输出。该脚本文件等效于gs_dump导出的纯文本格式文件。
gs_restore工具在导入时,允许用户选择需要导入的内容,并支持在数据导入前对等待导入的内容进行排序。
168.2 操作步骤
说明:
gs_restore默认是以追加的方式进行数据导入。为避免多次导入造成数据异常,在进行导入时,建议选择使用“-c”和“-e”参数。“-c”表示在重新创建数据库对象前,清理(删除)已存在于将要还原的数据库中的数据库对象;“-e”表示当发送SQL语句到数据库时如果出现错误请退出,默认状态下会继续,且在导入后会显示一系列错误信息。
以操作系统用户omm登录数据库主节点。
使用gs_restore命令,从postgres整个数据库内容的导出文件中,将数据库的所有对象的定义导入到backupdb。
gs_restore -U jack /home/omm/backup/MPPDB_backup.tar -p 8000 -d backupdb -s -e -c
Password:表 1 常用参数说明
参数 参数说明 举例 -U 连接数据库的用户名。 -U jack -W 指定用户连接的密码。如果主机的认证策略是trust,则不会对数据库管理员进行密码验证,即无需输入-W选项;如果没有-W选项,并且不是数据库管理员,会提示用户输入密码。 -W abcd@123 -d 连接数据库dbname,并直接将数据导入到该数据库中。 -d backupdb -p 指定服务器所侦听的TCP端口或本地Unix域套接字后缀,以确保连接。 -p 8000 -e 当发送SQL语句到数据库时如果出现错误,则退出。默认状态下会忽略错误任务并继续执行导入,且在导入后会显示一系列错误信息。 - -c 在重新创建数据库对象前,清理(删除)已存在于将要导入的数据库中的数据库对象。 - -s 只导入模式定义,不导入数据。当前的序列值也不会被导入。 - 其他参数说明请参见《工具与命令参考》中“服务端工具 > gs_restore”章节。
168.3 示例
示例一:执行gs_restore,导入指定MPPDB_backup.dmp文件(自定义归档格式)中postgres数据库的数据和对象定义。
gs_restore backup/MPPDB_backup.dmp -p 8000 -d backupdb
Password:
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore: total time: 13053 ms