标签:用户名 Postgresql 删除 账号 数据库 权限 root schema
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模式的操作权限,否则无法删除,会提示存在依赖关系。
标签:用户名,Postgresql,删除,账号,数据库,权限,root,schema 来源: https://blog.csdn.net/qq_44322586/article/details/123084962
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。