当前位置:  开发笔记 > 数据库 > 正文

许多拨款后删除postgres角色和数据库

如何解决《许多拨款后删除postgres角色和数据库》经验,为你挑选了0个好方法。

我正试图drop role从postgres实例高效,并遇到一些问题.我正在寻找一些SQL,drop role以便我可以停止阅读错误消息,而不必手动执行此操作.

在我正在使用的设置中,每个角色都有自己的同名数据库:

CREATE ROLE alpha_user;
CREATE DATABASE alpha_user;
ALTER DATABASE alpha_user OWNER TO alpha_user;

用户通常将对其数据库中的模式的访问权限授予其他用户:

-- alpha_user logs in to the alpha_user database
GRANT USAGE ON SCHEMA myschema TO beta_user;

当我试图放弃时beta_user,会发生这种情况:

-- log in as superuser
DROP ROLE beta_user;
-- ERROR:  role "beta_user" cannot be dropped because some objects depend on it
-- DETAIL:  N objects in database alpha_user

我可以连接到alpha_user数据库,然后删除OWNED BY,但效率很低:

-- log in as superuser
\c alpha_user;
DROP OWNED BY beta_user CASCADE;
DROP beta_user;
-- success

用户可以授予对任意数量的数据库的访问权限,并且有许多用户.是否存在超级用户可以DROP OWNED BY在用户被授予访问权限的所有数据库中为用户执行的语句(或一系列语句)?

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有