PostgreSQL角色XYZ无权限:如何授权使其用pg_dump备份数据库?
如何为无权限的PostgreSQL角色分配pg_dump备份权限及恢复时的权限说明
为角色XYZ分配pg_dump备份权限
如果角色XYZ当前无任何权限,要让它能使用pg_dump备份public schema下的数据库内容,需要授予其该schema下所有表的读取权限,执行以下SQL语句:
GRANT SELECT ON ALL TABLES IN SCHEMA public TO XYZ;
注:如果后续会在public schema中创建新表,还可以设置默认权限确保新表也能被XYZ读取:ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO XYZ;
备份恢复时的权限配置
使用该备份进行恢复时,执行恢复操作的角色需要具备对应权限:
- 若恢复整个数据库,角色需要拥有
CREATEDB权限,或是目标数据库的所有者; - 若仅恢复
publicschema下的表,角色需要在该schema下拥有CREATE权限,同时对要恢复的表具备INSERT、UPDATE等写入权限,否则无法完成表结构创建和数据导入。
内容的提问来源于stack exchange,提问作者SANAL RAJ
相关产品推荐
相关产品推荐

