PostgreSQL权限

PostgreSQL中的权限有如下
SELECT,INSERT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER,CREATE,CONNECT,TEMPORARY,EXECUTE 和 USAGE

授权使用grant语法,回收权限使用revoke语法,跟mysql,oracle相似

grant privilege on object to {public | group | username}

其中privilege可以是select,insert,update,delete,rule,all

举例:
创建一个用户hbk,密码hbk

create user hbk with password 'hbk';

直接使用刚创建的用户hbk,去查询表数据,会报权限不足问题,因为没有进行授权。
在这里插入图片描述

使用postgres用户对hbk用户进行授权

postgres=# grant all on tb_test to hbk;
GRANT

之后再使用hbk用户进行查询,可以查询到数据。

postgres=> select * from tb_test;
 id |                                                 name

----+-----------------------------------------------------------
---------------------------
  1 | huangbaokang

(1 行记录)

使用postgres用户回收hbk用户的权限

postgres=# revoke all on tb_test from hbk;
REVOKE

在使用hbk用户查询,将报权限不足问题。

postgres=> select * from tb_test;
ERROR:  permission denied for relation tb_test

猜你喜欢

转载自blog.csdn.net/huangbaokang/article/details/88870307