新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容介绍了“PostgreSQL数据库只读用户的建立方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
成都创新互联公司长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为密山企业提供专业的做网站、网站建设,密山网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。1) 建立只读用户
create user user_reader password 'user_reader' ;
指定只读用户的搜索路径
alter user user_reader set search_path=‘user’;
2) 授权:
postgres 用户登录的需要授权的数据库
grant select on all tables in schema schema—user to user_reader ;
3) 修改 pg_hba.conf 允许登录 ,并重载配置文件
4) 用只读用户登录数据库,直接执行select * from table 就可以了。
5) 如果不说第5步,你肯定是要回来找我的。
在第2步授权的地方,只授对表的访问权限是不行的,还要授个对schema 的访问权限。
grant usage on schema schema_user to user_reader; 嗯, 现在可以正常访问了。搞定。
不过有跟oracle 应该有相同的缺陷,如果新增的表,是无法访问的,
需要重新执行
grant select on all tables in schema schema—user to user_reader ;
这句,或者针对单独的表的授权。 过以后 要做到新增加的 table 自动对只读用户授权 ,那么下面这句就比较重要了。
alter default privileges in schema schema_name grant select on tables to schema_reader;
这条sql 的执行, 需要用 table 的ower 去执行,而不是超级用户来执行。 否则用只读用户去查询,会报权限不足,无法查询。
“PostgreSQL数据库只读用户的建立方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联-成都网站建设公司网站,小编将为大家输出更多高质量的实用文章!