我想确定我的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”不存在
答案 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'