查询用户授权时出错“关系“ sql_features”不存在”

时间:2019-07-04 12:27:27

标签: amazon-redshift user-permissions

我想确定我的Redshift用户对我正在使用以下代码的架构中各个对象的所有授予,但得到错误。

SELECT
    u.usename,
    t.schemaname||'.'||t.tablename,
    has_table_privilege(u.usename,t.tablename,'select') AS user_has_select_permission
FROM
    pg_user u
CROSS JOIN
    pg_tables t
WHERE
    u.usename = 'userid'
  

错误:42P01:关系“ sql_features”不存在

1 个答案:

答案 0 :(得分:0)

感谢@blamblam为我指出一个可行的解决方案。

此外,我还从那篇文章中了解到,我犯了一个错误,即仅传递对象名称,而我需要传递完全限定的对象名称(schema_name.object_name)。

因此,在进行了上述更改之后,查询看起来像这样并且可以正常工作:

SELECT
    u.usename,
    t.schemaname||'.'||t.tablename,
    has_table_privilege(u.usename,t.schemaname||'.'||t.tablename,'select') AS user_has_select_permission
FROM
    pg_user u
CROSS JOIN
    pg_tables t
WHERE
    u.usename = 'userid'