Sql 无法从红移中删除用户

Sql 无法从红移中删除用户,sql,amazon-web-services,permissions,amazon-redshift,Sql,Amazon Web Services,Permissions,Amazon Redshift,我试图删除用户表单的红移,但它总是失败,并显示相同的消息 无法删除用户XXX,因为该用户在某些方面具有权限 对象 在谷歌搜索之后,我发现我需要撤销用户的权限,因此我运行了几个撤销查询,但仍然失败,并显示相同的消息: 我运行的查询: revoke all on schema YYY from XXX; revoke usage on schema ZZZ from XXX; revoke all on database LLL from XXX; 知道我为什么仍然收到此失败消息吗?请部署 完成后

我试图删除用户表单的红移,但它总是失败,并显示相同的消息

无法删除用户XXX,因为该用户在某些方面具有权限 对象

在谷歌搜索之后,我发现我需要撤销用户的权限,因此我运行了几个撤销查询,但仍然失败,并显示相同的消息:

我运行的查询:

revoke all on schema YYY from XXX;
revoke usage on schema ZZZ from XXX;
revoke all on database LLL from XXX;
知道我为什么仍然收到此失败消息吗?

请部署

完成后,请执行以下步骤

_用户--必须删除的用户

B_user——旧表的表所有权需要映射到此用户

如果希望更改属于某个用户的所有表的所有者,则

从pg_tables中选择schemaname、tablename,其中tableowner类似于'A_user'

对于检索到的上述表,请运行

将表schemaname.tablename所有者更改为B_user

在用户具有某些权限的架构上撤消所有

从admin.v_get_obj_priv_by_user中选择不同的schemaname,其中usename类似于“A_user”

对于检索到的上述表,请运行

从用户处撤销模式XXXX上的所有内容

在用户具有某些权限的表上撤消所有

从admin.v_get_obj_priv_by_user中选择不同的表,其中usename类似于“A_user”

对于检索到的上述表,请运行

从用户处撤销模式XXXX中所有表上的所有数据

删除用户usename


如果一个集群中有两个数据库,请对这两个数据库执行此操作。

在尝试了无数帖子和帖子的建议后,AWSlab以视图的形式提供了缓解。它可以立即识别剩余的依赖项,从而可以删除有问题的用户。

管理员视图允许您查看现有授权及其相应的撤销

使用此sql:

选择 ddl 从admin.v\u生成\u用户\u授予\u撤销\u ddl 其中ddltype='revoke' 及承批人 或授予人= 订购人 objseq, grantseq desc; 我终于能够找到所有授权并生成撤销语句。

已经在DBA Stack Exchange上回复了

在删除用户之前,必须撤消该用户拥有的任何特权,然后转移该用户拥有的任何数据库对象的所有权

从AWS实验室GitHub存储库下载并安装脚本。此脚本在Amazon Redshift中创建一个视图,该视图对接下来的两个步骤非常有用

查找授予该用户的所有权限,然后以超级用户或其他用户的身份再次将这些权限授予该用户,如以下示例所示

选择regexp_replaceddl,设保人, 从admin.v\u生成\u用户\u授予\u撤销\u ddl 其中,设保人=和ddltype='grant'以及 OBJteq、grantseq的objtype“default acl”命令

查找授予用户的所有权限,然后撤消这些权限,如以下示例所示

选择ddl 从admin.v\u生成\u用户\u授予\u撤销\u ddl 其中,ddltype='revoke'和受让人=或 授予人=objseq、grantseq desc下达的订单

从AWS实验室GitHub存储库下载并安装脚本。此脚本在Amazon红移中创建一个视图,该视图对下一步非常有用

查找用户拥有的所有对象,然后将所有权转移给其他用户。在下面的示例中,是当前所有者,也是新所有者

在群集中的每个数据库中重复步骤2-5

删除用户

删除用户


来源:

尝试级联选项以查看撤销获取propagated@kadalamittai-谢谢,但没用。我仍然会收到同样的消息,在这封信中,我的回答对我来说是有效的,但只有在我意识到我必须在撤销模式本身的特权之前撤销模式的默认特权之后。因此,语句ALTER schema sor_ccr revoke ALL on group dev_sor_ccr_rw中用户s105486的默认权限;仅当s105846对“sor_ccr”架构具有权限时,才能成功。在我的例子中,我只是授予模式上的所有权限,然后在默认权限消失后撤销所有权限。直到那时,我才最终能够删除我的用户。工作正常,您可能必须首先使用create schema admin;创建管理模式;。