GaussDB(DWS)给用户赋权了schema下将来对象的查询权限,但是查询报没权限

问题描述

给用户赋权了schema下将来对象的查询权限,但是查询一张新建的表,报没权限

告警信息

处理过程

1、经确认,给用户赋权将来对象查询权限的语句如下:

ALTER DEFAULT PRIVILEGES  IN SCHEMA xxx  GRANT select ON TABLES TO xxx;

2、对schema的owner做了确认,owner和schema不是同名的

3、在涉及到schema和owner不同名的情况时,赋权将来的对象查询权限需要增加for user,具体如下:

ALTER DEFAULT PRIVILEGES  for user xxx IN SCHEMA xxx  GRANT select ON TABLES TO xxx;

4、执行以上赋权语句后,新建表,用户查询正常

另附查询schema对应的owner语句:

select a.nspname,b.usename from pg_namespace a,pg_user b where a.nspowner=b.usesysid  and a.nspname=’schemaname’;

根因

schema的名字和owner不是同名,赋权将来对象的时候需要添加for user即可

解决方案

对于schema名字和owner不是同名的情况,给用户赋权将来对象查询权限执行如下sql:

ALTER DEFAULT PRIVILEGES  for user xxx IN SCHEMA xxx  GRANT select ON TABLES TO xxx;

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/316331.html

(0)
上一篇 2025年10月28日 22:05
下一篇 2025年10月29日 00:25

相关推荐

发表回复

登录后才能评论