6.用户及权限管理

用户及权限管理

用户和角色

什么是角色?

角色是一系列相关权限的集合。为了管理方便,通常把一系列相关的数据库权限赋给一个角色,如果哪个用户需要这些权限,就把角色赋给相应的用户。

在 PostgreSQL 中,为了简化管理,角色与用户是没有区别的,一个用户也是一个角色,我们可以把一个用户的权限赋给另一个用户。

用户和角色在整个数据库实例中是全局的,在同一个实例中的不同数据库中,看到的用户都是相同的。

超级用户

  • 超级用户是初始化该数据库时与操作系统用户名相同的用户。
  • 如果数据库是建在操作系统用户postgres下的(通常我们把数据库安装在此用户下),那么这个数据库超级用户的名称也叫postgres
  • 在超级用户下可以创建更多的普通用户。

创建用户和角色

语法

CREATEROLE name[[WITH]option[...]]CREATEUSERname[[WITH]option[...]]

option 取值介绍

  • SUPERUSER|NOSUPERUSER:表示创建出来的用户是否为超级用户。
  • CREATEDB|NOCREATEDB:指定创建出来的用户是否有执行CREATE DATABASE的权限。
  • CREATEROLE|NOCREATEROLE:指定创建出来的用户是否有创建其他角色的权限。
  • CREATEUSER|NOCREATEUSER:指定创建出来的用户是否有创建其他用户的权限。
  • LOGIN|NOLOGIN:创建出来的用户是否有LOGIN权限,可以临时禁止用户的LOGIN权限,此时用户无法连接到数据库。

权限的管理

用户的权限分为两类:

第一类:创建用户时指定的权限

  1. 超级用户的权限
  2. 创建数据库的权限
  3. 是否允许LOGIN的权限

第二类:由GRANTREVOKE命令管理的权限

  1. 在数据库中创建模式(SCHEMA)的权限
  2. 允许在指定的数据库中创建临时表的权限
  3. 连接某个数据库的权限
  4. 在模式中创建数据库对象的权限,如创建表、视图、函数等
  5. 在一些表中做SELECTUPDATEINSERTDELETE等操作的权限
  6. 在一张具体的表的列上进行SELECTUPDATEINSERT操作的权限
  7. 在表上创建触发器的权限
  8. 把表、索引等建到指定表空间的权限

注意

在使用时要分清上述两类权限:

  • 如果要给用户赋予创建数据库的权限,需要使用ALTER ROLE命令。
  • 要给用户赋予创建模式的权限时,则需要使用GRANT命令。

PostgreSQL 中的 DDL 权限

PostgreSQL 没有专门的 DDL 语句权限,能否创建表取决于在模式(SCHEMA)中是否有CREATE的权限。

函数和触发器的权限

为了加强安全性,PostgreSQL 只允许超级用户使用某些 PL 语言写函数。


权限的层次总结

PostgreSQL 中的权限是按以下几个层次进行管理的:

  1. 首先管理用户特殊属性上的权限,如超级用户权限、创建数据库的权限、创建用户的权限、LOGIN权限等。
  2. 然后是在数据库中创建模式的权限。
  3. 接着是在模式中创建数据库对象的权限,如创建表、索引等。
  4. 之后是查询表、向表中插入数据、更新表、删除表中数据的权限。
  5. 最后是操作表中某些字段的权限。

如何创建一个只读用户

第一步:收回默认的创建表权限

REVOKECREATEONSCHEMApublicFROMpublic;

这是因为在 PostgreSQL 中,默认任何用户都可以在名为public的 Schema 中创建表,而只读用户是不允许创建表的,所以先要把此权限收回。

第二步:创建一个名为readonly的用户

CREATEUSERreadonlyWITHPASSWORD'query';

第三步:将现有表的 SELECT 权限赋予用户readonly

GRANTSELECTONALLTABLESINSCHEMApublicTOreadonly;

注意:上面的 SQL 命令只是把现有表的权限赋予了用户readonly,如果此时创建了新表,readonly用户仍不能读取。

第四步:设置默认权限,使新创建的表自动授权

ALTERDEFAULTPRIVILEGESINSCHEMApublicGRANTSELECTONTABLESTOreadonly;

注意:以上过程只是给名为public的 Schema 下的表赋予了只读权限,如果想让该用户访问其他 Schema 下的表,需要类似地设置相应 Schema 的权限。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1200748.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搬运机器人毕业设计

第2章 搬运机器人的总体方案 该设计的目的是为了设计一台物料搬运机器人,本章主要对搬运机器人的机械结构部分进行设计和分析。 2.1 总体设计的思路 设计机器人大体上可分为两个阶段: 1、系统分析阶段 ①根据系统的目标,明确所采用机器人的目…

探寻思艾特创新成果,其在数据与AI领域有什么独特成就?

问题1:思艾特的创新成果有哪些?能通过具体案例说明吗? 思艾特的创新成果聚焦于数字化转型全链路的技术突破与模式革新,核心围绕AI驱动效能提升全栈技术生态构建全球化交付体系优化三大方向展开,且均有实际案例支撑…

星程x工厂展对行业的推动作用大吗,带来怎样变化?

问题1:星程x工厂展的场地设施具体有哪些?能否满足不同展商的需求? 星程x工厂展的场地设施围绕高效展示、便捷对接、全链路服务三大核心设计,无论是杭州展还是宁波展,都能精准匹配中小工厂的展示需求与采购商的选品…

单芯片智能电源管理芯方案TP4316:精准定义1A移动电源的细分市场竞争力

在移动电源市场竞争白热化的今天,大功率快充虽占据舆论高地,但一个庞大且稳固的1A移动电源细分市场正凭借其精准的场景适配性与极致的成本效率持续增长。这一市场的核心逻辑并非技术降级,而在于将特定的芯片技术参数转化为满足存量设备、成本…

坚守代码前线:一名资深测试工程师的职业价值宣言

一、被误解的“晋升”:管理岗邀约背后的现实图景 典型场景还原(某SaaS企业技术总监对话片段) “你的缺陷预防模型让线上事故下降47%,团队需要这样的管理思维...” “但您知道这个模型需要每天迭代测试策略库吗?它正在…

告别配图焦虑:Nano Banana Pro 深度实战

大家好,我是悟鸣。 最近有很多朋友问我:“你最近的很多文章的配图挺漂亮的,用什么模型?用什么提示词?” 如介绍“官方文档 Skill ”的图。 如介绍“通俗讲解 Skill ”的图。 这篇文章给大家分享一下流程,…

FXS双出风口笼形转子选粉机

2.双出风口旋风分离器结构、原理和优点 2.1工作原理及优点 (1)工作原理 旋风分离器如图。含尘气体从进风口切向进入筒体,在筒体与出风管、导流管之间的环形空间旋转向下并逐渐进入锥体,气体中的粉尘受旋转力场中的离心力作用而与气流分离并碰撞筒壁&am…

学术文献引用工具排名:六款主流平台及智能规范建议

核心工具对比速览 工具名称 核心优势 适用场景 处理速度 AiBiye 智能识别引用格式,自动匹配规范 学术论文初稿 3-5秒/页 AiCheck 深度检测引用缺失,精准定位问题 论文终稿检查 10秒/篇 AskPaper 多语言引用规范支持 国际期刊投稿 5-8秒/页…

真正的Type-C同口充放电、2.4A大电流与高达92%的双向转换效率:海川SM5339/SM5340如何定义高集成度电源SOC

在移动电源与便携设备高度成熟的今天,方案的成功往往取决于对几个核心体验的极致追求:接口是否足够简单智能?充电速度是否足够快?能量转换是否足够高效不发热? 海川半导体推出的高集成电源管理SOC SM5339与SM5340&…

2026年有名的北京美国定制旅游平台,达美国际旅行社排名情况如何?

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家出境定制旅行标杆企业,为追求高品质出行的用户提供客观依据,助力精准匹配适配的服务伙伴。 TOP1 推荐:北京达美国际旅行社有限责任公司(达美旅行) 推荐指…

DC直流开关电源

2 整流电路的设计 整流是将交流电变成脉动直流电的过程。电源变压器输出的交流电经整流电路得到一个大小变化但方向不变的脉动直流电。整流电路是由具有单向导电性的元件例如二极管、晶间管等整流元件组成的。 2.1整流电路的选择 单相整流电路有两种:电容输入型电路…

性能测试中的唯一标识问题研究

在性能测试场景中,生成全局唯一标识符(GUID)是一个常见的需求,主要用于标识每个请求或者事务,以便于追踪和分析。这是因为在性能测试中,需要对系统的各个功能进行测试,而每个功能都需要有一个唯一的标识来区分。如果不使用全局唯一标识,则可能…

2026预测精度实证:全球市场实证数据与预测精度驱动因素分析

站在2026年的时点回望,企业财务管理已彻底告别了“静态手工时代”。根据麦肯锡(McKinsey)发布的《2025全球AI预算系统市场报告》(报告编号:MKT-2025-001),2025年全球AI驱动型预算管理系统市场规模已达78亿美元,…

每日面试题分享152:什么是循环依赖?

循环依赖指的是两个或多个bean互相依赖,形成了一个闭环。举个例子:a要干活需要b的工具,b要干活需要a的工具,互相依赖,谁也不能干活。在Spring中就是创建a时依赖b,因此去创建b,创建b时又依赖a。

每日面试题分享153:JVM垃圾回收调优的目标是什么?

JVM垃圾回收调优的目标有两个,低延迟和高吞吐量。但通常这两个目标是互斥的,需要根据业务场景做取舍。低延迟指的是每次GC的停顿时间短,保证系统响应能力。比如在实时交易系统、游戏、即时通讯系统中,对系统响应能力要求很高&…

2026年福建水凝面膜公司权威推荐榜单:紧致面膜 /修护面膜 /敏感肌面膜 /水光面膜/祛痘面膜服务机构精选

在护肤品市场,水凝面膜正从基础的补水产品,升级为承载高浓度活性成分、靶向解决特定皮肤问题的专业护理载体。据行业分析,消费者对产品的功效验证、成分安全及配方科学性的关注度,已超越单纯的感官体验和营销概念。…

GB4599-2024 落地!汽车照明迎重大升级,自适应功能 + 辅助投射成安全新标配~

一、新规来袭:汽车照明行业进入标准化 2.0 时代2025 年 7 月 1 日,GB4599-2024《汽车道路照明装置及系统》将正式实施,标志着我国汽车照明领域告别分散旧标,迈入统一规范的新阶段。该标准整合替代了 GB4599-2007 等 6 项旧标准&am…

AutoCAD二次开发――参数化绘制带轮设计

第三章 三角带轮参数化绘图设计 带轮在机械传动系统中是一种非常常见的传动件,所以在产品开发设计中常常需要绘制带轮零件图。为了提高带轮的设计质量和效率,降低设计成本和减少工人劳动强度,其重要途径就是开发带轮参数化绘图软件。而且它在…

每日面试题分享154:为什么Vue中的date属性是函数而不是对象?

1、避免组件实例之间共享数据2、保证组件的独立性和可复用性3、符合单向数据流理念,数据是可预测的

导师推荐!10个AI论文网站测评,研究生科研写作必备

导师推荐!10个AI论文网站测评,研究生科研写作必备 学术写作工具测评:如何选择适合你的AI论文网站 在当前科研环境日益激烈的背景下,研究生群体对高效、专业的学术写作工具需求愈发迫切。从文献检索到论文撰写,再到格…