无法删除AWS Redshift集群用户组:默认权限依赖问题求助
解决AWS Redshift删除用户组因默认权限依赖失败的问题
问题分析
你执行drop group conform_main_prtest_admin_dev;时触发错误,核心原因是用户svc_prtest_ddl配置了全局(defaclnamespace=0)默认对象权限,其中包含给目标组的权限,导致组无法被直接删除。从pg_default_acl的查询结果可明确,该组拥有svc_prtest_ddl创建的新关系类对象的全权限。
解决步骤
验证用户OID对应关系(可选但推荐)
先确认OID 519确实对应svc_prtest_ddl,避免操作对象错误:SELECT usename FROM pg_user WHERE usesysid = 519;撤销目标组的默认权限
针对svc_prtest_ddl用户的全局默认表权限,撤销给conform_main_prtest_admin_dev组的所有权限:ALTER DEFAULT PRIVILEGES FOR USER svc_prtest_ddl REVOKE ALL ON TABLES FROM GROUP conform_main_prtest_admin_dev;这里
ON TABLES对应defaclobjtype='r'(r代表关系类对象,包含表、视图等)。执行用户组删除操作
再次运行最初的删除命令即可:DROP GROUP conform_main_prtest_admin_dev;
补充说明
如果后续仍出现其他对象依赖的错误,需要进一步排查关联对象,但结合当前报错和pg_default_acl的结果,执行上述步骤即可解决当前的默认权限依赖问题。
内容的提问来源于stack exchange,提问作者Prathyush Peettayil
相关产品推荐
相关产品推荐

