首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何快速删除具有现有权限的用户

如何快速删除具有现有权限的用户
EN

Stack Overflow用户
提问于 2010-06-11 22:26:07
回答 8查看 164.9K关注 0票数 141

我正在尝试为我正在使用的应用程序设置受限制的数据库用户,并且我想删除我用于实验的Postgres数据库用户。有没有办法删除用户,而不必首先手动撤销他的所有权限,或者撤销用户拥有的所有授权?

EN

回答 8

Stack Overflow用户

发布于 2018-01-06 00:04:07

当我尝试重新分配所有者或删除所有者时,接受的答案会导致错误。下面的方法对我很有效:

代码语言:javascript
复制
REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA public FROM username;
REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public FROM username;
REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public FROM username;
DROP USER username;

用户可能在其他模式中具有特权,在这种情况下,您必须运行适当的撤销行,并将"public“替换为正确的模式。为了显示用户的所有模式和权限类型,我编辑了\dp命令以进行以下查询:

代码语言:javascript
复制
SELECT 
  n.nspname as "Schema",
  CASE c.relkind 
    WHEN 'r' THEN 'table' 
    WHEN 'v' THEN 'view' 
    WHEN 'm' THEN 'materialized view' 
    WHEN 'S' THEN 'sequence' 
    WHEN 'f' THEN 'foreign table' 
  END as "Type"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE pg_catalog.array_to_string(c.relacl, E'\n') LIKE '%username%';

我不确定哪些权限类型对应于表、序列或函数上的撤消,但我认为它们都属于这三种权限类型中的一种。

票数 74
EN

Stack Overflow用户

发布于 2013-03-02 00:17:06

另请注意,如果您已显式授予:

CONNECT ON DATABASE xxx TO GROUP

您需要使用以下命令从DROP OWNED中单独撤消此操作:

REVOKE CONNECT ON DATABASE xxx FROM GROUP

票数 17
EN

Stack Overflow用户

发布于 2019-11-04 19:28:25

以下是最终对我起作用的方法:

代码语言:javascript
复制
REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA myschem FROM user_mike;
REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA myschem FROM user_mike;
REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA myschem FROM user_mike;
REVOKE ALL PRIVILEGES ON SCHEMA myschem FROM user_mike;
ALTER DEFAULT PRIVILEGES IN SCHEMA myschem REVOKE ALL ON SEQUENCES FROM user_mike;
ALTER DEFAULT PRIVILEGES IN SCHEMA myschem REVOKE ALL ON TABLES FROM user_mike;
ALTER DEFAULT PRIVILEGES IN SCHEMA myschem REVOKE ALL ON FUNCTIONS FROM user_mike;
REVOKE USAGE ON SCHEMA myschem FROM user_mike;
REASSIGN OWNED BY user_mike TO masteruser;
DROP USER user_mike ;
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3023583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档