PostgreSQL 实现快速删除一个用户
一、具体方法
一般情况下直接执行 drop role xxx; 就可以把这个用户删除。但是很多时候会因为用户有依赖而报错。
二、权限依赖
postgres=# create role test with login;
CREATE ROLEpostgres=# grant all on database postgres to test;GRANTpostgres=# drop role test;ERROR: role "test" cannot be dropped because some objects depend on itDETAIL: privileges for database postgrespostgres=# revoke all on database postgres from test;
REVOKEpostgres=# drop role test;DROP ROLE三、对象依赖
postgres=# create role test with login;
CREATE ROLEpostgres=# \c - testYou are now connected to database "postgres" as user "test".postgres=> create table test (id int);CREATE TABLEpostgres=# \c - postgresYou are now connected to database "postgres" as user "postgres".postgres=# drop role test;ERROR: role "test" cannot be dropped because some objects depend on itDETAIL: owner of table testpostgres=# alter table test OWNER TO postgres;
ALTER TABLEpostgres=# drop role test;DROP ROLE四、更改数据库角色拥有的数据库对象的所有权
1、如果不保留owner 的数据库对象
postgres=# REASSIGN OWNED BY test TO postgres;
REASSIGN OWNEDpostgres=# DROP OWNED BY test;DROP OWNEDpostgres=# drop role test;DROP ROLEpostgres=# REASSIGN OWNED BY test TO postgres;
REASSIGN OWNEDpostgres=# drop role test;DROP ROLEPostgreSQL 实现快速删除一个用户的更多相关文章
- DROP DOMAIN - 删除一个用户定义的域
SYNOPSIS DROP DOMAIN name [, ...] [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP DOMAIN 将从系统表中删除一个用户域. 只 ...
- DROP AGGREGATE - 删除一个用户定义的聚集函数
SYNOPSIS DROP AGGREGATE name ( type ) [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP AGGREGATE 将删除一个现存聚集 ...
- linux上如何快速删除一个目录
在linux中删除一个目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可解决.直接rm就可以了,不过要加两个参数-rf 即:rm -rf ...
- DROP CONVERSION - 删除一个用户定义的编码转换
SYNOPSIS DROP CONVERSION name [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP CONVERSION 删除一个以前定义的编码转换. 要 ...
- DROP CAST - 删除一个用户定义的类型转换
SYNOPSIS DROP CAST (sourcetype AS targettype) [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP CAST 删除一个前面 ...
- Discuz常见小问题-如何禁止用户发言,快速删除某个用户的所有帖子
用户-用户组,勾选批量编辑,然后点击批量编辑的链接 点击论坛相关-帖子相关,然后把指定用户组的允许发新话题设置为否,拉到底部,点击提交 以一个普通用户重新登录,尝试发帖报错,说明已经设置成功 ...
- DROP TYPE - 删除一个用户定义数据类型
SYNOPSIS DROP TYPE name [, ...] [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP TYPE 将从系统表里删除用户定义的类型. 只有类 ...
- Linux上怎么快速删除一个目录
删除文件需要用到rm命令,但删除目录需要添加两个参数: -r 向下递归,不管多少级目录都删除 -f 强行删除,不做提示 #rm -rf 文件目录名
- DROP USER - 删除一个数据库用户帐号
SYNOPSIS DROP USER name DESCRIPTION 描述 DROP USER 从数据库中删除指定的用户. 它不删除数据库里此用户所有的表,视图或其他对象. 如果该用户拥有任何数据库 ...
- 快速为git添加一个用户
环境:用gitosis-admin管理git的权限. 前期git环境的搭建略去,主要给出快速添加一个用户的步骤: 在git bash中用“ssh-keygen -t rsa”生成公钥私钥,默认放到 “ ...
随机推荐
- OpenVINO计算机视觉模型加速
OpenVINO计算机视觉模型加速 OpenVINO介绍 计算机视觉部署框架,支持多种边缘硬件平台 Intel开发并开源使用的计算机视觉库 支持多个场景视觉任务场景的快速演示 四个主要模块: 1.开发 ...
- ExcelToObject.NPOI 两行代码导出Excel报表、读取Excel数据
简介 作为一个dotnet开发者,经常面对业务系统中大量报表导入导出,经常写了一堆的重复代码.最近发现一个操作excel的神器:ExcelToObject.NPOI,两行代码就能导出一个报表,两行代码 ...
- 浅谈 C++ 模板 & 泛化 (妈妈再也不用担心我不会用 std::sort 了)
基础复习 先上个对 int 类型数组的插入排序: void insertionSort_01(int* seq, int firstIndex, int lastIndex) { for (int j ...
- 交互式仪表板!Python轻松完成!⛵
作者:韩信子@ShowMeAI 数据分析实战系列:https://www.showmeai.tech/tutorials/40 本文地址:https://www.showmeai.tech/artic ...
- 使用xshell连接linux虚拟机
目录 1.涉及的软件 2.连接步骤 2.1.虚拟机网络连接设置 2.2.配置linux的ip地址 2.3.关闭linux的防火墙 2.4.启动ssh服务 2.5.使用xshell连接linux 1.涉 ...
- [机器学习] 特征选择笔记4-使用SelectFromModel特征选择
特征选择 代码下载 本文主要介绍sklearn中进行特征选择的方法. sklearn.feature_selection模块中的类可用于样本集的特征选择/降维,以提高估计量的准确性得分或提高其在超高维 ...
- uniapp 开发微信小程序问题笔记
最近接手了一个小程序开发,从头开始.使用了 uniapp 搭建,以前没有做过小程序开发,着手看文档.查文档.一步一步完成了任务的开发.特此记录开发过程中的问题. 开发建议: 使用 HBuilderX ...
- CF构造题1600-1800(2)
H. Hot Black Hot White(COMPFEST 14 - Preliminary Online Mirror (Unrated, ICPC Rules, Teams Preferred ...
- Linux c 获取U盘挂载路径
思路: 1.执行df -h 找到 带mnt的行.将结果存入一个文件中. system("df -h |grep mnt >./extendevinfo.txt"); 也可以直 ...
- java 金额计算
package com.example.test; import android.util.Log; import java.math.BigDecimal; import java.text.Dec ...