PostgreSQL 用户和角色管理

PostgreSQL的用户管理

用户和角色的区别:用户有权限、角色没有权限

一、组角色管理 ----》使用组角色的概念管理数据库访问权限;

1、创建组角色

一个组角色可以看做是一组数据用户。组角色可以拥有数据库对象(比如表),以及可以把这些对象上的权限赋予其他角色,以控制拥有访问哪些对象的权限。

1.1使用pgAdmin创建组角色






1.2、使用sql语句进行创建组角色



1.3查看和修改组角色

①、pgAdmin查看组角色

②、使用sql语句进行查看

角色都是存储在pg_roles系统表中的 :


③、修改组角色名称

ALTER  ROLE  组角色名称  RENAME  TO  新的组角色名称;


1.4删除组角色

①、pgAdmin右键自行删除


②、sql语句删除

DROP  ROLE  组角色的名称;


2、角色的各种权限

①、LOGIN(登录)

    创建的组角色没有权限。只有具有LOGIN权限的组角色才可以用作数据库连接的初始角色名。一旦组角色拥有了登录权限,即可当作用户一样来使用。

create role  组角色名称  login;


②、superuser (超级用户)

superuser拥有对数据库操作的最高权限,可以完成对数据库的所有权限检查。为了保证PostgreSQL 的安全,建议谨慎使用。

create role  组角色名称  superuser;


③、CREATEDB (创建数据库)

角色想要创建数据库,必须明确的给出权限。除了超级用户之外。

create role  组角色名称  createdb;


④、createrole (创建角色)

    角色想要创建角色,必须明确给出该权限。一旦角色拥有该权限,即可更改和删除其他角色,还可以给其他角色赋予或撤销成员关系。

create  role  组角色名称  createrole;


⑤、口令

在客户认证方法要求与数据库连接时,需要口令权限。常见的口令权限有password、MD5、crypt。

create  role 组角色名称  口令认证方法  具体口令;


3、账户管理

3.1创建用户

用户拥有登录权限的组角色。

①、使用pgAdmin创建

②、使用sql语句进行创建

create user 名称;


3.2删除

3.3修改用户密码

sql语句修改


4、组角色和用户权限管理

4.1对组角色授权

①、sql语句

alter  role  角色名 权限1 权限2 ···

对pen授予创建数据库和创建角色的权限。

4.2对用户授权

alter user 用户名  权限1  权限2 ···

4.3收回权限

alter role/user  用户名  nocreatedb ```

5、数据库权限

5.1修改数据库的拥有者 

①、sql语句

alter database 数据库名称 owner to 拥有者名称;

5.2增加用户权限

默认情况下,只有数据库的所有者可以对其中的数据表进行操作。

①、使用sql语句

crant 权限 on 数据表 to  用户名称;
crant update on pool  to postgres;


阅读更多
版权声明:如果觉得好的话,不防点个赞,那点你们认为不对或是需要补充,可以留言啊!本人原创,未经允许不得转载!! https://blog.csdn.net/qq_28289405/article/details/80347129
文章标签: PostgreSQL的应用
个人分类: PostgreSQL
所属专栏: PostgreSQL
上一篇Python 应用(二)
下一篇配置网络,使用固定的ip地址
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭