国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > PostgreSQL > postgresql数据库怎么删除用户

postgresql数据库怎么删除用户

头像

silencement

2020-03-13 20:57:336819浏览 · 0收藏 · 0评论

本文将介绍PostgreSQL 下如何快速删除一个用户(role)。

一般情况下直接执行 drop role xxx; 就可以把这个用户删除。但是很多时候会因为用户有依赖而报错。

推荐:postgresql教程

权限依赖

postgres=# create role test with login;
CREATE ROLE
postgres=# grant all on database postgres to test;
GRANT
postgres=# drop role test;
ERROR:  role "test" cannot be dropped because some objects depend on it
DETAIL:  privileges for database postgres

可以看出,因为我们把数据库postgres 的权限赋予了test 用户,所以直接删除的时候会报错。面对这种情况,我们需要先将role 的权限

所有的权限全部revoke 掉,如下:

postgres=# revoke all on database postgres from test;
REVOKE
postgres=# drop role test;
DROP ROLE

注意:需要把该用户在所有数据库具有权限的所有数据库对象的(表,视图,SEQUENCE)权限全部回收,才能删除该用户。

对象依赖

postgres=# create role test with login;
CREATE ROLE
postgres=# \c - test
You are now connected to database "postgres" as user "test".
postgres=> create table test (id int);
CREATE TABLE
postgres=# \c - postgres
You are now connected to database "postgres" as user "postgres".
postgres=# drop role test;
ERROR:  role "test" cannot be dropped because some objects depend on it
DETAIL:  owner of table test

可以看出,因为test 用户是test 表的owner,所以删除的时候报错owner of table test。如果不需要保留该对象,则需要先把该依赖对象

删除。如果需要保留该对象,则应该在删除之前先把owner 赋予别人,如下:

postgres=# alter table test OWNER  TO postgres;
ALTER TABLE
postgres=# drop role test;
DROP ROLE

注意:需要把该用户在所有数据库具有owner 权限的所有数据库对象(表,视图,SEQUENCE)删除或者执行alter xx owner to,才能

删除该用户。

更多技术请关注Python视频教程

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

妻子的秘密韩剧大全免费| 强壮的公2伦理| CSGO2开箱网站| 二人生猴子全程免费| 下面的小嘴又饿了| 成品人和精品人的区别在哪里知乎 | 初中女生光溜溜身子| 家公给我治疗5中字| 中文在线字幕免费观看电视剧 | 《黏糊糊的你》动漫免费观看 | 强壮的公2伦理| 爸爸汆肉的日常| 旅游攻略| 高清大片CSGO免费| 麻花传剧原创MV在线看完整版高.| 高压监狱| 12美国禁忌| 找找色| 少女尖叫之夜1-4集免费| 双男主做酱酱酿酿视频大全真人版| XX| 老公你好棒啊我好爱你| 天美麻花星空影视免费观看电视剧 | 真人做运动视频素材| 父女一起到达巅峰的小说| 《一滴都不许漏》何泽城林萌| 公交车掀开奶置边躁狠狠躁漫画| 《熟妇的荡欲》免费看| 年轻的老师| 《日本公与媳5》公妇伦| 玉女心经2:阴阳合欢李丽珍| 法国《监狱伦理3》| 小布什传| 妈妈がだけの心に漂う| 免费又黄又硬又爽又免费| 王娟被老赵一夜干4次| 男]进女黄性色AV视频| 免费B站看大片真人电视剧| 强伦女教师2:伦理| PRONHUB| 《魅魔之耻》1~4集免费看