1.在示例数据库建立多个用户u1,u2,赋予u1查看和删除student表的权限,授予u2查看数学系学生视图的权限,然后验证它们是否具有真正的权限了。
时间: 2024-03-23 15:44:07 浏览: 146
首先,我们需要使用超级用户在数据库中创建多个用户u1和u2:
```
CREATE USER u1 WITH PASSWORD 'password1';
CREATE USER u2 WITH PASSWORD 'password2';
```
然后,我们需要授予u1查看和删除student表的权限,以及授予u2查看数学系学生视图的权限:
```
GRANT SELECT, DELETE ON student TO u1;
GRANT SELECT ON math_students_view TO u2;
```
现在,我们可以分别使用u1和u2的身份登录数据库并验证它们是否具有相应的权限。
以u1的身份登录数据库并尝试查看和删除student表:
```
psql -U u1 -d mydatabase
mydatabase=> SELECT * FROM student;
-- 这应该可以正常执行
mydatabase=> DELETE FROM student WHERE id = 1;
-- 这也应该可以正常执行
```
以u2的身份登录数据库并尝试查看数学系学生视图:
```
psql -U u2 -d mydatabase
mydatabase=> SELECT * FROM math_students_view;
-- 这应该可以正常执行
```
如果以上步骤都能够正常执行,就说明我们已经成功授予了相应的权限,并且u1和u2具有真正的权限了。
阅读全文