在 redshift 中查询时出现权限错误
Posted
技术标签:
【中文标题】在 redshift 中查询时出现权限错误【英文标题】:Getting privilege error when querying in redshift 【发布时间】:2016-07-09 21:25:12 【问题描述】:在 redshift 中创建了两个模式,一个具有所有表,另一个模式具有从早期模式表创建的视图。用户被授予对第二个模式视图的选择权限。当尝试在 redshift 中使用 select 查询一个特定视图时,它会抛出“Job::UserError: PG::InsufficientPrivilege: ERROR: permission denied for schema”。
只有在访问该特定视图时才会出现错误,所有其他视图都很好。
已验证权限和用户确实对视图和表具有选择权限。任何方向都会有所帮助。
【问题讨论】:
【参考方案1】:您还必须在新架构上授予 USAGE
权限:
GRANT USAGE ON SCHEMA <schema_name> TO <schema_user>
【讨论】:
【参考方案2】:如果您发现这仅影响一个特定视图,可能是因为在分配权限后视图被删除并重新创建(因此该表失去了架构权限的继承)。
解决办法可能是:
-
重新申请权限
下次您需要更改视图,而不是
DROP
,然后CREATE
视图,使用CREATE OR REPLACE VIEW your_view_name AS
命令
【讨论】:
以上是关于在 redshift 中查询时出现权限错误的主要内容,如果未能解决你的问题,请参考以下文章
计算两个日期之间的差异时出现 AWS Redshift 错误
Redshift Spectrum 在创建嵌套数据时出现语法错误
对指定 VALUE 使用 UPDATE 时出现 Amazon Redshift 语法错误
在 Postgres (Redshift) 中使用两个选择列运行 MAX 聚合查询时出现问题
从 Python 访问 Redshift 时出现“无效凭据”错误
Amazon Redshift CREATE FUNCTION ERROR: 42601: 在“默认”或接近“默认”时出现语法错误