postgres 数据库 创建用户与权限配置

postgres 数据库 创建用户与权限配置

–首先使用超级用户,比如postgres登录数据库


[root@postgres-01 ~]# su - postgres
上一次登录:二 1116 10:51:01 CST 2021pts/1 上
-bash-4.2$ psql
psql (11.5)
输入 "help" 来获取帮助信息.

postgres=# 

一 创建用户

 CREATE USER testuser WITH PASSWORD 'Asdfg12345';
create user cs password 'Asdfg12345';

授权全部

1.将数据库所有权限授权于 testuser

 GRANT ALL PRIVILEGES ON DATABASE 数据库名 TO testuser;

2.将schema cs 的 使用权限给用户 usre

 GRANT USAGE ON SCHEMA cs to usre;

3.将schema下所有表权限授权于 testuser

   GRANT ALL PRIVILEGES ON all tables in schema public TO testuser;

4.给css用户授予cs2库下css模块下所有表和视图的默认权限

 ALTER DEFAULT PRIVILEGES IN SCHEMA css GRANT all ON TABLES TO css;

授权部分权限

  1. 将数据库连接权限授权于 testuser
 GRANT CONNECT ON DATABASE 数据库名 to testuser;
  1. 将schema的usage权限授权于 testuser(具体其他权限需要添加看权限说明)
   GRANT USAGE ON SCHEMA public to testuser;
  1. 将schema为public下的某个表的查询权限授权于 testuser(具体其他权限需要添加看权限说明)
 GRANT SELECT on public.tb_base_cs_表名 to testuser;
  1. 给cs用户授予库下cs模块下所有表和视图的全部权限
   GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA cs TO cs;
  1. 给cs用户授予库下cs模块下所有表和视图的默认权限
 ALTER DEFAULT PRIVILEGES IN SCHEMA cs GRANT all ON TABLES TO cs;
  1. 给cs用户授予库下cs模块下所有表的查询权限
   grant select ON ALL TABLES IN SCHEMA cs to cs;

权限移除

1.移除testuser用户对于public下所有表的所有权限

REVOKE ALL PRIVILEGES ON all tables in schema public FROM testuser;

2.移除testuser用户对于public的使用权限

   REVOKE Usage ON SCHEMA "public" FROM "testuser";

3.移除testuser用户对于cs数据库所有权限

 REVOKE ALL PRIVILEGES ON DATABASE cs FROM testuser;

4.移除testuser用户对于tb_base_cs_表名 表的查询权限

 REVOKE SELECT ON public.tb_base_cs_表名 FROM testuser;

表的权限

《postgres 数据库 创建用户与权限配置》

数据库的权限

《postgres 数据库 创建用户与权限配置》

模式的权限

《postgres 数据库 创建用户与权限配置》

    原文作者:yang_z_1
    原文地址: https://blog.csdn.net/yang_z_1/article/details/121387148
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞