我正在尝试设置一个新角色,以便更轻松地授予访问权限。我想知道是否有一种更简单的方法可以将模式下的所有表(新创建的表应该可以自动访问)上的选择提供给选定的用户。我针对相同的问题进行了以下查询。但是我的用户仍然无法访问特定的表。
CREATE ROLE myrole;
GRANT SELECT ON myschema.mytable TO myrole;
GRANT usage ON schema myschema TO myrole;
CREATE USER mytest1 identified BY '***';
GRANT myrole TO mytest1;
之后,当我使用 mytest1 用户登录并尝试在 myschema.mytable 上运行 select 时,它要求我将架构的使用权限授予用户。在我直接将架构的使用权限授予用户后,该表的权限被拒绝而失败。
请帮忙。我在 vertica 5.0 上运行
更新: 我发现您还必须将该角色设为默认角色或明确将该角色设置为用户会话的默认角色,以使角色生效。
ALTER USER mytest1 DEFAULT ROLE myrole;
但是,我的另一个问题仍然存在,即如何使特定用户可以访问模式下的所有表。