我正在查看一个系统表:stl_load_errors
,并且在stl_load_errors
上方创建了一个视图以限制数据。
示例视图:
create view vw_sample_load_errors
as
select * from stl_load_errors where filename like 'sample123%'
现在,当普通用户查询视图时,该用户将看不到任何行。
我如何让他单独访问此视图。
我不想授予syslog访问权限,这将使用户无限制地访问所有系统表中的所有数据,包括stl_load_errors
。
让我知道是否足够清楚。
答案 0 :(得分:0)
无法使用Redshift权限实现所需的功能。用户或者只能在系统表中看到自己的行(缺省值),或者可以看到所有系统表中的所有行(如果SYSLOG ACCESS设置为UNRESTRICTED)。无法为单个系统表授予等效的SYSLOG ACCESS UNRESTRICTED。
正如Jon在评论中所建议的那样,您可以创建一个进程,每分钟左右将数据从stl_load_errors复制到另一个表中,并授予用户对此权限。