PostgreSQL简单添加只读用户的方法

Posted jinanxiaolaohu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL简单添加只读用户的方法相关的知识,希望对你有一定的参考价值。

1. 添加了白名单只读来避免开发同事错误的修改数据库内的数据, 但是他们总想去查询数据库的内容.

最简单的办法是修改pg_hba.conf添加只读用户.

2. 添加只读用户.

使用psql登录pg数据库

psql -U gscloud -d gscloud

效果为:

[root@centos76 zhaobsh]# psql -U gscloud -d gscloud
Password for user gscloud: 
psql (10.7)
Type "help" for help.

gscloud=# 

添加用户

create role gscloudreader with password Test6530;

添加usage的权限以及只读权限给用户

赋予usage权限
grant usage on schema gscloud to gscloudreader;
赋予查询权限
grant select on all tables in schema gscloud to gscloudreader;
赋予登录权限
alter user gscloudreader with login;

4. 修改pg_hba.conf的用户添加任意ip地址访问

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
#host    all             all             0.0.0.0/0              md5
host    gscloud         gscloudreader             0.0.0.0/0              md5

5. 重启服务进行验证

systemctl restart postgresql-10

6. 验证能够正常登录测试.

技术图片

 

 7. 验证无法删除和修改.

技术图片

以上是关于PostgreSQL简单添加只读用户的方法的主要内容,如果未能解决你的问题,请参考以下文章

Pg数据库添加只读用户。

Pg数据库添加只读用户。

给postgresql的登陆用户设置只读模式

如何在 PostgreSQL 中创建只读用户?

Postgresql 只读角色和用户

PostgreSQL创建只读用户