PostgreSQL 创建用户并赋予权限


1、创建一个test用户

CREATE USER test WITH PASSWORD 'password';

2、创建COMPANY表

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

3、设置权限

3.1、postgresql权限说明

1、SELECT
2、INSERT
3、UPDATE
4、DELETE
5、TRUNCATE
6、REFERENCES
7、TRIGGER
8、CREATE
9、CONNECT
10、TEMPORARY
11、EXECUTE
12、USAGE

3.2、设置权限语法

GRANT privilege [, ...]
ON object [, ...]
TO { PUBLIC | GROUP group | username }

# 说明:
# privilege − 值可以为:SELECT,INSERT,UPDATE,DELETE, RULE,ALL等
# object − 要授予访问权限的对象名称。可能的对象有: table, view,sequence。
# PUBLIC − 表示所有用户。
# GROUP group − 为用户组授予权限。
# username − 要授予权限的用户名。PUBLIC 是代表所有用户的简短形式。

3.3、设置用户scheam的使用权限

必须要给用户设置对scheam的使用权限,否则会报错。

grant USAGE on SCHEMA public to test ;

3.4、对表授权

3.4.1、设置用户对表的所有权限

这里以COMPANY表为例,根据具体的要求进行设置权限。

GRANT ALL ON COMPANY TO test;

3.5撤销权限

3.5.1、撤销用户对COMPANY表的所有权限

REVOKE ALL ON COMPANY FROM test;

3.5.2、撤销用户scheam的使用权限

REVOKE ALL ON SCHEMA public FROM test;

4、注意

使用schema 的时候注意:
1、需要用postgres 授权指定的schema 的使用(USAGE)权限给特定用户;
2、然后授权postgres 需要的权限到特定用户;
这两个缺一不可

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值