【postgresql】角色(Role)

 PostgreSQL 中,角色(Role)是一个重要的概念,用于管理数据库的访问权限和用户身份。角色可以被视为用户或组,具体取决于它们的配置方。

角色属性

角色可以具有多种属性:

  • LOGIN:允许角色登录数据库。

  • SUPERUSER:赋予角色超级用户权限。

  • CREATEDB:允许角色创建新的数据库。

  • CREATEROLE:允许角色创建和管理其他角色。

  • INHERIT:允许角色继承其所属组的权限。

  • REPLICATION:允许角色进行流复制。

  • PASSWORD:设置角色的密码。

创建角色

role_name 遵循 SQL 标识的规则:
要么完全没有特殊字符,
要么用双引号包围(实际上你通常会给命令增加额外的选项)。

CREATE ROLE demo_user ;

或者

CREATE ROLE demo_user WITH LOGIN PASSWORD 'mypassword';

这个命令创建了一个名为 myuser 的角色,并赋予它登录权限和密码。

角色组

角色可以被组织成组,以便更方便地管理权限。你可以创建一个角色作为组,并将其他角色添加到这个组中。

CREATE ROLE demogroup;

GRANT demogroup TO demouser;

创建了一个名为 demogroup的角色组,并将 demouser 角色添加到这个组中。

权限管理

使用 GRANT 和 REVOKE 命令来管理角色的权限。

GRANT :授予权限

REVOKE : 撤销权限

GRANT SELECT, INSERT ON demotable TO demouser;

REVOKE UPDATE ON demotable FROM demouser;

删除角色

使用 DROP ROLE 命令来删除一个角色

DROP ROLE demouser;

检查现有角色的集合

要检查现有角色的集合,可以检查pg_roles系统表,

SELECT rolname FROM pg_roles;

psql的元命令  \du   也可以用于列出现有角色。

为了能创建初始数据库系统,新建立的数据库总是包含一个预定义的"超级用户"角色, 并且缺省时(除非在运行initdb时更改过) 他将和初始化该数据库集群的用户有相同的名称。通常,这个角色名叫postgres。 为了创建更多角色,你必须首先以这个初始用户角色连接。




  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值