在 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: 在“默认”或接近“默认”时出现语法错误