PostgreSQL没有只读角色这个权限,但是可以通过修改用户的默认参数来达到只读的目的,如下 :
digoal=# select usename,useconfig from pg_user where usename='digoal';
usename | useconfig
---------+-----------
digoal |
(1 row)
digoal=# alter role digoal set default_transaction_read_only=true;
ALTER ROLE
digoal=# select usename,useconfig from pg_user where usename='digoal';
usename | useconfig
---------+--------------------------------------
digoal | {default_transaction_read_only=true}
(1 row)
连接到digoal用户进行验证,
digoal=# \c digoal digoal
You are now connected to database "digoal" as user "digoal".
digoal=> insert into test values (1);
ERROR: cannot execute INSERT in a read-only transaction
digoal=> delete from test ;
ERROR: cannot execute DELETE in a read-only transaction
digoal=> drop table test ;
ERROR: cannot execute DROP TABLE in a read-only transaction
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。