示例一:执行gs_dump导出数据,用户jack不具备导出数据库human_resource的权限,而角色role1具备该权限,要实现导出数据库human_resource,可以在导出命令中设置--role角色为role1,使用role1的权限,完成导出目的。导出文件格式为tar归档格式。
human_resource=# CREATE USER jack IDENTIFIED BY "1234@abc";
CREATE ROLE
human_resource=# GRANT role1 TO jack;
GRANT ROLE
gs_dump -U jack -f /home/gbase/backup/MPPDB_backup11.tar -p 5600 human_resource --role role1 -- rolepassword abc@1234 -F t
Password:
gs_dump[port='5600'][human_resource][2017-07-21 16:21:10]: dump database human_resource successfully
gs_dump[port='5600'][human_resource][2017-07-21 16:21:10]: total time: 4239 ms
示例二:执行gs_dump导出数据,用户jack不具备导出模式public的权限,而角色role1具备该权限,要实现导出模式public,可以在导出命令中设置--role角色为role1,使用role1的权限,完成导出目的。导出文件格式为tar归档格式。
human_resource=# CREATE USER jack IDENTIFIED BY "1234@abc";
CREATE ROLE
human_resource=# GRANT role1 TO jack;
GRANT ROLE
gs_dump -U jack -f /home/gbase/backup/MPPDB_backup12.tar -p 5600 human_resource -n public --role role1 --rolepassword abc@1234 -F t
Password:
gs_dump[port='5600'][human_resource][2017-07-21 16:21:10]: dump database human_resource successfully
gs_dump[port='5600'][human_resource][2017-07-21 16:21:10]: total time: 3278 ms