gs_dump通过-U指定执行导出的用户帐户。如果当前使用的帐户不具备导出所要求的权限时,会无法导出数据。此时,可在导出命令中设置–role参数来指定具备权限的角色。在执行命令后,gs_dump会使用–role参数指定的角色,完成导出动作。
假设jack用户没有导出文件权限,执行以下操作了解如何使用无权限账户导出数据:
-
以操作系统用户omm登录数据库主节点。
-
创建具有权限的role1,并关联role1和jack用户。
a. 创建角色role1。
mogdb=# create role role1 with password 'Enmo@123'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLEb. 给role1赋予权限。
mogdb=# grant all privileges to role1; ALTER ROLEc. 创建用户jack,并关联role1。
mogdb=# create user jack with password 'Enmo@123' in role role1; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE -
使用role1的权限导出数据库文件。
用户jack不具备导出数据库mogdb的权限,而角色role1具备该权限,要实现导出数据库mogdb,可以在导出命令中设置–role角色为role1,使用role1的权限,完成导出目的。导出文件格式为tar归档格式。
[omm@mogdb-kernel-0005 ~]$ gs_dump -U jack -W Enmo@123 -f /opt/mogdb/exportfile/MPPDB_backup.tar -p 26000 mogdb --role role1 --rolepassword Enmo@123 -F t Notice: options --role is not super or sysadmin role, can only back up objects belonging touser role1. gs_dump[port='26000'][mogdb][2021-09-24 15:16:30]: The total objects number is 597. gs_dump[port='26000'][mogdb][2021-09-24 15:16:30]: [100.00%] 597 objects have been dumped. gs_dump: [port='26000'] [mogdb] [archiver] [2021-09-24 15:16:30] WARNING: archive items not in correct section order gs_dump[port='26000'][mogdb][2021-09-24 15:16:30]: dump database postgres successfully gs_dump[port='26000'][mogdb][2021-09-24 15:16:30]: total time: 873 ms参数说明
参数 参数说明 举例 -U 连接数据库的用户名。 -U jack -W 指定用户连接的密码。
- 如果主机的认证策略是trust,则不会对数据库管理员进行密码验证,即无需输入-W选项。
- 如果没有-W选项,并且不是数据库管理员,会提示用户输入密码。-W Enmo@123 -f 将导出文件发送至指定目录文件夹。如果这里省略,则使用标准输出。 -f /opt/mogdb/exportfile/MPPDB_backup.tar -p 指定服务器所监听的TCP端口或本地Unix域套接字后缀,以确保连接。 -p 26000 dbname 需要导出的数据库名称 mogdb –role 指定导出使用的角色名。选择该选项,会使导出工具连接数据库后,发起一个SET ROLE角色名命令。当所授权用户(由-U指定)没有导出工具要求的权限时,该选项会起到作用,即切换到具备相应权限的角色。 -r role1 –rolepassword 指定具体角色用户的角色密码。 –rolepassword Enmo@123 -F 选择导出文件格式。
-F参数值如下:
- p: 纯文本格式
- c: 自定义归档
- d: 目录归档格式
- t: tar归档格式-F t
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




