irpas技术客

Postgresql创建账号及删除账号详细命令_光明31007625_postgresql 删除用户

网络 3733

1: 首先要判断当前的账号是否为root账号,也就是本机电脑或者服务器安装数据库时设置的账号。 如果不确定的话,可以采用一下方法,以idea开发工具为例: 用idea连接好数据库后,如下图,zgm是数据库,schemas目录下有三种模式,那就是root账号,如果只有public模式,那就是非root账号。 2:创建账号,无论当前账号是否为root账号,在它下面创建只读账号的命令都是一样的

创建账号

create user 用户名 password '密码';

一般新创建的子账号的权限建议设置为只读权限 更新只读权限

alter user 用户名 set default_transaction_read_only = on;

设置可操作的数据库,我这里只有一个数据库zgm,实际的话可能有多个数据库

grant all on database 数据库名 to 用户名;

设置可操作的模式和权限

grant select on all tables in schema public to 用户名;

3:删除账号

如果是root账号:删除命令如下:

撤回在public模式下的权限

revoke select on all tables in schema public from 用户名;

撤回在information_schema模式下的权限

revoke select on all tables in schema information_schema from 用户名;

撤回在pg_catalog模式下的权限

revoke select on all tables in schema pg_catalog from 用户名;

撤回对数据库的操作权限

revoke all on database 数据库名 from 用户名;

删除用户

drop user 用户名;

非root账号:删除命令如下:

撤回在public模式下的权限

revoke select on all tables in schema public from 用户名;

删除用户

drop user 用户名;

这里我们对比可以发现,root下的子账号在删除时,需要额外撤回对information_schema模式和pg_catalog模式的操作权限,否则无法删除,会提示存在依赖关系。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #postgresql #删除用户 #1 #User #用户名