【postgresql】角色(Role)

news/2024/8/22 15:10:14 标签: postgresql, 数据库

 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。 为了创建更多角色,你必须首先以这个初始用户角色连接。





http://www.niftyadmin.cn/n/5556497.html

相关文章

基于二次规划优化的OFDM系统PAPR抑制算法的matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于二次规划优化的OFDM系统PAPR抑制算法的matlab仿真. 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 (完整程序运行后无水印)…

vue3在 setup 中访问路由和当前路由

报错信息: Cannot read properties of undefined (reading $router) 原因: 因为我们在 setup 里面没有访问 this,所以我们不能直接访问 this.$router 或 this.$route。 解决方案: 作为替代,我们使用 useRouter 和…

leetcode算法题(反转链表)

思路1: 创建新的链表,遍历原链表,将原链表的节点进行头插到新链表中。 struct ListNode* reverseList(struct ListNode* head) {struct ListNode* next NULL;struct ListNode* new_head NULL;if (head NULL ||head->next NULL) // 空…

信息素养大赛-2024-算法创意实践挑战复赛-小学组

文章目录 一、前言二、问题问题:玫瑰花地的面积问题:判断三角形问题:汤姆的日记问题:正方形的数量问题:字符操作问题:猴子摘桃 三、感谢 一、前言 本章节主要对2024年信息素养大赛算法创意实践挑战复赛小学…

学习大数据DAY16 PLSQL基础语法5

目录 异常 自定义异常的格式 raise_application_error 处理异常 预定义异常 SQLcode和SQLerrm 非预定义异常 作业 触发器 触发器基本概念 DML触发器 DML触发器使用 instead of 触发器 管理触发器 作业2 函数、过程和包 函数 过程 参数 1. in 参数 2.out 参…

nodejs安装部署运行vue前端项目

文章目录 1.安装nodejs2.安装Vue CLI1.配置npm镜像源:2.安装Vue CLI:3.创建Vue项目4.启动Vue项目5.Express 1.安装nodejs Node.js 是一个免费、开源、跨平台的 JavaScript 运行时环境,它让开发人员能够创建服务器、Web 应用、命令行工具和脚…

Purple Pi OH在Android11下测试WiFi和LAN的TCP和UDP传输速率

本文适用于在Purple Pi OH在Andriod11下如何测试WiFi和LAN的TCP和UDP传输速率。触觉智能的Purple Pi OH鸿蒙开源主板,是华为Laval官方社区主荐的一款鸿蒙开发主板。 该主板主要针对学生党,极客,工程师,极大降低了开源鸿蒙开发者的…