stl_load_errors的Amazon Redshift 文档指出“该表对所有用户可见。” 但是,以超级用户(936 行)和非超级用户(0 行)身份查询时,我得到了不同的结果。为什么以非超级用户的身份运行查询返回 0 行?
这是我运行的查询。
超级用户:
$ psql -U masteruser -h XX.XX.XX.XX -p 5439 bi -w -c "select count(*) from stl_load_errors"
count
-------
936
(1 row)
Run Code Online (Sandbox Code Playgroud)
非超级用户:
$ psql -U emonsen -h XX.XX.XX.XX -p 5439 bi -w -c "select count(*) from stl_load_errors"
count
-------
0
(1 row)
Run Code Online (Sandbox Code Playgroud)
此外,我可以使用HAS_TABLE_PRIVILEGE来表明 Redshift 认为“emonsen”对 stl_load_errors 具有正确的权限:
$ psql -U masteruser -h XX.XX.XX.XX -p 5439 bi -w -c "select has_table_privilege('emonsen', 'stl_load_errors', 'select')"
has_table_privilege
---------------------
t
(1 row)
Run Code Online (Sandbox Code Playgroud)
任何用户都可以通过授予对 syslog 的访问权限来查看其他用户的所有 stl_load_errors 结果,如下所示。
更改用户用户名 SYSLOG ACCESS { UNRESTRICTED }
你是对的!该表对所有用户都可见,但这里的问题是主用户可以看到所有用户的所有加载错误。
而其他用户只能看到自己的错误日志。在您的情况下,“emonsen”只能看到自己的错误日志,如“emonsen”生成的加载错误。特权没什么问题
| 归档时间: |
|
| 查看次数: |
3223 次 |
| 最近记录: |