数据仓库服务 GaussDB(DWS)-使用gs_restore导入数据:示例
示例
示例一:执行gs_restore,导入指定MPPDB_backup.dmp文件(自定义归档格式)中gaussdb数据库的数据和对象定义。
gs_restore -W password backup/MPPDB_backup.dmp -p 8000 -h 10.10.10.100 -d backupdbgs_restore[2017-07-21 19:16:26]: restore operation successfugs_restore: total time: 13053 ms
示例二:执行gs_restore,导入指定MPPDB_backup.tar文件(tar归档格式)中gaussdb数据库的数据和对象定义。
gs_restore backup/MPPDB_backup.tar -p 8000 -h 10.10.10.100 -d backupdb gs_restore[2017-07-21 19:21:32]: restore operation successfulgs_restore[2017-07-21 19:21:32]: total time: 21203 ms
示例三:执行gs_restore,导入指定MPPDB_backup目录文件(目录归档格式)中gaussdb数据库的数据和对象定义。
gs_restore backup/MPPDB_backup -p 8000 -h 10.10.10.100 -d backupdbgs_restore[2017-07-21 19:26:46]: restore operation successfulgs_restore[2017-07-21 19:26:46]: total time: 21003 ms
示例四:执行gs_restore,将gaussdb数据库的所有对象的定义导入至backupdb数据库。导入前,gaussdb存在完整的定义和数据,导入后,backupdb数据库只存在所有对象定义,表没有数据。
gs_restore -W password /home//backup/MPPDB_backup.tar -p 8000 -h 10.10.10.100 -d backupdb -s -e -c gs_restore[2017-07-21 19:46:27]: restore operation successfulgs_restore[2017-07-21 19:46:27]: total time: 32993 ms
示例五:执行gs_restore,导入MPPDB_backup.dmp文件中PUBLIC模式的所有定义和数据。在导入时会先删除已经存在的对象,如果原对象存在跨模式的依赖则需手工强制干预。
gs_restore backup/MPPDB_backup.dmp -p 8000 -h 10.10.10.100 -d backupdb -e -c -n PUBLICgs_restore: [archiver (db)] Error while PRO CES SING TOC:gs_restore: [archiver (db)] Error from TOC entry 313; 1259 337399 TABLE table1 gaussdbags_restore: [archiver (db)] could not execute query: ERROR: cannot drop table table1 because other objects depend on itDETAIL: view t1.v1 depends on table table1HINT: Use DROP ... CASCADE to drop the dependent objects too.Command was: DROP TABLE public.table1;
手工删除依赖,导入完成后再重新创建。
gs_restore backup/MPPDB_backup.dmp -p 8000 -h 10.10.10.100 -d backupdb -e -c -n PUBLICgs_restore[2017-07-21 19:52:26]: restore operation successfulgs_restore[2017-07-21 19:52:26]: total time: 2203 ms
示例六:执行gs_restore,导入MPPDB_backup.dmp文件中PUBLIC模式下表hr.staffs的定义。在导入之前,hr.staffs表不存在。
gs_restore backup/MPPDB_backup.dmp -p 8000 -h 10.10.10.100 -d backupdb -e -c -s -n PUBLIC -t hr.staffsgs_restore[2017-07-21 19:56:29]: restore operation successfulgs_restore[2017-07-21 19:56:29]: total time: 21000 ms
示例七:执行gs_restore,导入MPPDB_backup.dmp文件中PUBLIC模式下表hr.staffs的数据。在导入之前,hr.staffs表不存在数据。
gs_restore backup/MPPDB_backup.dmp -p 8000 -h 10.10.10.100 -d backupdb -e -a -n PUBLIC -t hr.staffsgs_restore[2017-07-21 20:12:32]: restore operation successfulgs_restore[2017-07-21 20:12:32]: total time: 20203 ms
human_resource=# select * from hr.staffs; staff_id | first_name | last_name | email | phone_number | hire_date | employment_id | salary | commission_pct | manager_id | section_id ----------+-------------+-------------+----------+--------------------+---------------------+---------------+----------+----------------+------------+------------ 200 | Jennifer | Whalen | JWHALEN | 515.123.4444 | 1987-09-17 00:00:00 | AD_ASST | 4400.00 | | 101 | 10 201 | Michael | Hartstein | MHARTSTE | 515.123.5555 | 1996-02-17 00:00:00 | MK_MAN | 13000.00 | | 100 | 20gsql -d human_resource -p 8000gsql (( GaussDB 8.1.1 build af002019) compiled at 2020-01-10 05:43:20 commit 6995 last mr 11566 )Non-SSL connection (SSL connection is recommended when requiring high-security)Type "help" for help.human_resource=# drop table hr.staffs CASCADE;NOTICE: drop cascades to view hr.staff_details_viewDROP TABLEgs_restore -W password /home//backup/MPPDB_backup.tar -p 8000 -h 10.10.10.100 -d human_resource -n hr -t staffs -s -e restore operation successfultotal time: 904 mshuman_resource=# select * from hr.staffs; staff_id | first_name | last_name | email | phone_number | hire_date | employment_id | salary | commission_pct | manager_id | section_id ----------+------------+-----------+-------+--------------+-----------+---------------+--------+----------------+------------+------------(0 rows)
human_resource=# \d List of relations Schema | Name | Type | Owner | Storage --------+--------------------+-------+----------+---------------------------------- hr | employment_history | table | | {orientation=row,compression=no} hr | employments | table | | {orientation=row,compression=no} hr | places | table | | {orientation=row,compression=no} hr | sections | table | | {orientation=row,compression=no} hr | states | table | | {orientation=row,compression=no}(5 rows)gs_restore -W password /home/mppdb/backup/MPPDB_backup.tar -p 8000 -h 10.10.10.100 -d human_resource -n hr -t staffs -n hr -t areas restore operation successfultotal time: 724 mshuman_resource=# \d List of relations Schema | Name | Type | Owner | Storage --------+--------------------+-------+----------+---------------------------------- hr | areas | table | | {orientation=row,compression=no} hr | employment_history | table | | {orientation=row,compression=no} hr | employments | table | | {orientation=row,compression=no} hr | places | table | | {orientation=row,compression=no} hr | sections | table | | {orientation=row,compression=no} hr | staffs | table | | {orientation=row,compression=no} hr | states | table | | {orientation=row,compression=no}(7 rows)human_resource=# select * from hr.areas; area_id | area_name ---------+------------------------ 4 | Iron 1 | Wood 2 | Lake 3 | Desert(4 rows)
gs_restore -W password /home//backup/MPPDB_backup1.sql -p 8000 -h 10.10.10.100 -d backupdb -n hr -e -crestore operation successfultotal time: 702 ms
gs_restore -W password /home//backup/MPPDB_backup2.dmp -p 8000 -h 10.10.10.100 -d backupdb -n hr -n hr1 -srestore operation successfultotal time: 665 ms
示例十二:执行gs_restore,将human_resource数据库导出文件进行解密并导入至backupdb数据库中。
create database backupdb;CREATE DATABASEgs_restore /home//backup/MPPDB_backup.tar -p 8000 -h 10.10.10.100 -d backupdb --with-key=1234567812345678restore operation successfultotal time: 23472 msgsql -d backupdb -p 8000 -rgsql ((GaussDB 8.1.1 build af002019) compiled at 2020-01-10 05:43:20 commit 6995 last mr 11566 )Non-SSL connection (SSL connection is recommended when requiring high-security)Type "help" for help.backupdb=# select * from hr.areas; area_id | area_name ---------+------------------------ 4 | Iron 1 | Wood 2 | Lake 3 | Desert(4 rows)
示例十三:用户user1不具备将导出文件中数据导入至数据库backupdb的权限,而角色role1具备该权限,要实现将文件数据导入数据库backupdb,可以在导出命令中设置--role角色为role1,使用role1的权限,完成导出目的。
human_resource=# CREATE USER user1 IDENTIFIED BY 'password';gs_restore -U user1 -W password /home//backup/MPPDB_backup.tar -p 8000 -h 10.10.10.100 -d backupdb --role role1 --rolepassword passwordrestore operation successfultotal time: 554 msgsql -d backupdb -p 8000 -r gsql ((GaussDB 8.1.1 build af002019) compiled at 2020-01-10 05:43:20 commit 6995 last mr 11566 )Non-SSL connection (SSL connection is recommended when requiring high-security)Type "help" for help.backupdb=# select * from hr.areas; area_id | area_name ---------+------------------------ 4 | Iron 1 | Wood 2 | Lake 3 | Desert(4 rows)
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- 数据治理中心_数据架构_数据架构使用示例-华为云
- GaussDB(DWS)服务_什么是IoT数仓_如何使用IoT数仓
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- 数据治理中心_数据开发_数据开发示例_使用教程-华为云