PG数据库创建视图并授权给新用户

0. 背景

客户想要几张表的汇总数据,要直接访问数据库获取 

数据库服务器为 PostgreSQL 11.4

1.分析

原则: 不能直接开放表的任何权限给用户,用户只能查询数据

思路是:

1.根据功能创建新视图
2.创建新用户 
3.只授权新用户新视图的查询权限

2.实现

2.1根据功能创建新视图

create view view_students as
select
	s.name
from
	student s;

2.2创建新用户

CREATE USER user_stu  WITH PASSWORD '12345';

2.3只授权新用户新视图的查询权限

grant select on TABLE public.view_students to user_stu ;

至此授权新用户新视图的查询权限完毕,但还不能访问
正规点的数据库服务器会限制用户和IP的访问

错误提示

2.4 数据库服务器添加配置

在PG数据库服务器的data目录下,找到 pg_hba.conf文件,打开后,添加指定用户在指定数据下通过指定IP访问的方式即可

配置

修改保存完,一定要重启PG服务

3.总结

1.创建新视图
2.创建新用户 
3.授权新用户新视图的查询权限
4.数据库配置访问许可

猜你喜欢

转载自blog.csdn.net/fyc__iOS/article/details/120780704