在Redshift中,我有一个data_reader
数据库组,其定义如下:>
CREATE GROUP data_reader; GRANT USAGE ON SCHEMA reports TO GROUP data_reader; GRANT SELECT ON ALL TABLES IN SCHEMA reports TO GROUP data_reader;
而且我已经注意到,每当创建新表时,组成员都无法自动从表中查询。他们得到一个
Permission Denied
错误。重新运行
GRANT SELECT ON ALL TABLES IN SCHEMA reports TO GROUP data_reader;
固定权限。
这只是Redshift的一个怪癖,还是我应该定义数据库组的另一种方式?
在Redshift中,我定义了一个data_reader db组,就像这样的CREATE GROUP data_reader; SCHEMA上的GRANT USAGE向GROUP data_reader报告;对SCHEMA报告中的所有表进行GRANT SELECT到GROUP ...
此语句仅授予对已创建表的访问权限:
您提供的任何格兰特仅适用于现有表/视图。每当创建新表时,您都需要向用户/组明确提供所需的权限。我的建议是在DDL文件中包含适当的Grants语句。