查询用户授权时出错 "relation "sql_features“不存在”
Error while querying user grants "relation "sql_features" does not exist"
我想确定我的 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'
ERROR: 42P01: relation "sql_features" does not exist
感谢@blamblam 为我指明了可行的解决方案。
此外,我还从 post 了解到,我犯了一个错误,只传递了对象名称,而我需要传递完全限定的对象名称 (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'
我想确定我的 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'
ERROR: 42P01: relation "sql_features" does not exist
感谢@blamblam 为我指明了可行的解决方案。
此外,我还从 post 了解到,我犯了一个错误,只传递了对象名称,而我需要传递完全限定的对象名称 (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'