• 【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 的角色,并赋予它登录权限和密码。

    角色组

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

    1. CREATE ROLE demogroup;
    2. GRANT demogroup TO demouser;

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

    权限管理

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

    GRANT :授予权限

    REVOKE : 撤销权限

    1. GRANT SELECT, INSERT ON demotable TO demouser;
    2. REVOKE UPDATE ON demotable FROM demouser;

    删除角色

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

    DROP ROLE demouser;

    检查现有角色的集合

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

    SELECT rolname FROM pg_roles;

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

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




  • 相关阅读:
    元宇宙基础概念
    上海财经大学如何构建量化高频数据中心?
    QT按钮介绍
    掌握基本排序算法:冒泡、选择、插入和快速排序
    Rasa 3.x 机器学习构建笔记
    九方云学堂学员告诉你学习可以掌握哪些内容
    磐基2.0部署apisix集群
    7-MySQL基础综合练习
    基于JAVA体育城场地预定系统后台计算机毕业设计源码+数据库+lw文档+系统+部署
    性能测试监控-java分析工具Arthas
  • 原文地址:https://blog.csdn.net/wochunyang/article/details/140439862