本篇内容介绍了“PostgreSQL数据库只读用户的建立方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1)建立只读用户
createuser user_readerpassword'user_reader';

指定只读用户的搜索路径

alteruser user_readersetsearch_path=‘user’;

2)授权:

postgres用户登录的需要授权的数据库

grantselectonalltablesinschemaschema—user touser_reader;

3)修改pg_hba.conf允许登录,并重载配置文件

4)用只读用户登录数据库,直接执行select*fromtable就可以了。

5)如果不说第5步,你肯定是要回来找我的。

在第2步授权的地方,只授对表的访问权限是不行的,还要授个对schema的访问权限。

grantusageonschema schema_user to user_reader;嗯,现在可以正常访问了。搞定。

不过有跟oracle应该有相同的缺陷,如果新增的表,是无法访问的,

需要重新执行

grantselectonalltablesinschemaschema—user touser_reader;
这句,或者针对单独的表的授权。过以后 要做到新增加的 table 自动对只读用户授权 ,那么下面这句就比较重要了。

alterdefaultprivilegesinschemaschema_namegrantselectontablestoschema_reader;
这条sql的执行,需要用table的ower去执行,而不是超级用户来执行。否则用只读用户去查询,会报权限不足,无法查询。

“PostgreSQL数据库只读用户的建立方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!