PolarDB for PostgreSQL 开源必读手册-用户和权限管理(中)

简介: PolarDB for PostgreSQL 开源必读手册

接上篇:https://developer.aliyun.com/article/1223096?spm=a2c6h.13148508.setting.18.44ec4f0eNvAByn


修改角色的属性可以用\h alter role命令。

 

image.png

 

上图为修改角色属性示例。

 

image.png

 

用户与角色的删除有两种方式。

 

• 方式一:通过dropuser命令删除用户。删除时如果没有设置信任关系,则需要指定登录的用户名、密码,且此用户名必须拥有创建用户的权限,方能登录到数据库执行dropuser命令。

• 方式二:在psql命令行使用drop删除。删除时需要附上判断用户/角色是否存在的语句,避免用户/角色不存在而产生报错。尤其是脚本里,如果产生报错,则会影响后续的执行。

 

注意,只有超级用户能够删除超级用户,只有具有createrole权限的用户才能删除非超级用户。且删除用户前,需要删除依赖该用户的对象、权限等信息,或将权限授权给其他用户,以保证对象的安全性。PG不支持cascade此类级联的删除方式。此外,当前登录的对象也无法删除,需退出登陆后再做删除操作。

 

image.png

 

比如,删除u1时需要先通过\d命令查看其关联的对象。而除了对象以外,还需要通过\dn查看其是否存在相关schema。如上图,显示u1下还存在一个sport schema,因此,需要通过drop schema sport将该schema删除。

 

image.png

 

再次执行删除u1操作,提示在testdb上还存在相关权限。需要通过revoke all命令将授权给用户在testdb数据库上的所有权限撤回,随后即可删除用户。

 

image.png

 

为角色授权以后,如果要使用角色里的权限,需要通过set role命令启用该角色。

 

image.png

 

如上图所示,启用角色前,不允许创建schema。

 

而执行set role命令后,schema创建成功。

 

image.png

 

每个数据库对象都有一个owner,owner默认情况下拥有该对象的所有权限。数据库中所有权限都与角色挂钩。对超级用户的权限不做检查,其他用户需要通过ACL。对于数据库对象,所有者和超级用户可以做任何操作,其他用户需要通过ACL。

 

image.png

 

PG数据库下的权限管理可以分为几个层级,分别为实例权限、数据库权限、表空间、schema权限以及object对象(表、视图、索引)。

 

image.png

 

实例级别的权限主要通过pg_hba.conf控制实例访问的隔离级别来实现。该文件存在于PGDATA目录下,每一列分别为类型、访问的数据库、访问的用户、客户端地址以及访问方式。

 

如上图,第一条信息中的host代表主机,all代表所有数据库和用户,127.0.0.1指本地地址,trust指信任,意味本地用户登陆无需用户密码。

 

第二条信息中的0.0.0.0指所有外部主机,意为拒绝外部任意主机以postgres用户登录。

 

第三条信息中的md5指通过用户和密码登录。

 

image.png

 

上图第一行代表任何用户访问任何数据库时都需要密码访问。设置完以后通过reload重新加载方可生效。

 

image.png

 

访问方式如上图所示。

 

image.png

 

PolarDB数据库上,只要用户有login权限,即允许所有用户连接到数据库。另外,不允许除了超级用户和owner以外的任何人在数据库中创建schema。系统会自动创建名为public的schema,允许任何人在里面创建对象。

 

image.png

 

比如创建一个新的数据库名为newdb1,则所有用户都可以登录,上图为以u2用户登录,而且可以在数据库上创建表。

 

image.png

 

如上图,创建了t1表,其schema属于public。因此创建了数据库以后,默认数据库下存在public模式的schema,u2用户即可以public模式创建t1表。

 

image.png

 

上图语句实现了允许用户在指定的数据库下做任何操作。

 

image.png

 

如上图,u2用户想要创建一个schema被拒绝。因为数据库上已经存在一个schema。

 

image.png

 

而执行grant create on database newdb1 to u2语句后,u2即可在数据库上创建schema。创建完后,可以看到该数据库下存在两个schema模式,分别是public和s1。

 

模式是指某个用户下所有对象的集合。

接下篇:https://developer.aliyun.com/article/1223094?groupCode=polardbforpg

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源:云原生数据库的新篇章
阿里云自研的云原生数据库PolarDB于2023年5月正式开源,采用“存储计算分离”架构,具备高性能、高可用及全面兼容性。其开源版本提供企业级数据库解决方案,支持MySQL、PostgreSQL和Oracle语法,适用于高并发OLTP、核心业务系统等场景。PolarDB通过开放治理与开发者工具构建完整生态,并展望更丰富的插件功能与AI集成,为中国云原生数据库技术发展贡献重要力量。
1128 17
|
存储 Cloud Native 关系型数据库
PolarDB开源:云原生数据库的架构革命
本文围绕开源核心价值、社区运营实践和技术演进路线展开。首先解读存算分离架构的三大突破,包括基于RDMA的分布式存储、计算节点扩展及存储池扩容机制,并强调与MySQL的高兼容性。其次分享阿里巴巴开源治理模式,涵盖技术决策、版本发布和贡献者成长体系,同时展示企业应用案例。最后展望技术路线图,如3.0版本的多写多读架构、智能调优引擎等特性,以及开发者生态建设举措,推荐使用PolarDB-Operator实现高效部署。
688 4
|
关系型数据库 分布式数据库 PolarDB
通过 PolarDB for PostgreSQL 实现一体化的 HTAP 能力
阿里云 PolarDB for PostgreSQL作为一款领先的云原生关系型数据库,利用向量化引擎+列存索引等技术实现了 OLTP 和 OLAP 的一体化。本方案为您展示如何通过 PolarDB for PostgreSQL 来实现一体化的 HTAP 能力。
通过 PolarDB for PostgreSQL 实现一体化的 HTAP 能力
|
运维 关系型数据库 分布式数据库
阿里云PolarDB:引领云原生数据库创新发展
阿里云PolarDB引领云原生数据库创新,2024云栖大会将分享其最新发展及在游戏行业的应用。PolarDB凭借弹性、高可用性、多写技术等优势,支持全球80多个站点,服务1万多家企业。特别是针对游戏行业,PolarDB助力Funplus等公司实现高效运维、成本优化和业务扩展。通过云原生能力,PolarDB推动游戏业务的全球化部署与快速响应,提升用户体验并保障数据安全。未来,PolarDB将继续探索AI、多云管理等前沿技术,为用户提供更智能的数据基础设施。
855 2
|
存储 关系型数据库 测试技术
拯救海量数据:PostgreSQL分区表性能优化实战手册(附压测对比)
本文深入解析PostgreSQL分区表的核心原理与优化策略,涵盖性能痛点、实战案例及压测对比。首先阐述分区表作为继承表+路由规则的逻辑封装,分析分区裁剪失效、全局索引膨胀和VACUUM堆积三大性能杀手,并通过电商订单表崩溃事件说明旧分区维护的重要性。接着提出四维设计法优化分区策略,包括时间范围分区黄金法则与自动化维护体系。同时对比局部索引与全局索引性能,展示后者在特定场景下的优势。进一步探讨并行查询优化、冷热数据分层存储及故障复盘,解决分区锁竞争问题。
|
关系型数据库 分布式数据库 PolarDB
《阿里云产品手册2022-2023 版》——PolarDB for PostgreSQL
《阿里云产品手册2022-2023 版》——PolarDB for PostgreSQL
769 0
|
存储 缓存 关系型数据库
|
存储 SQL 并行计算
PolarDB for PostgreSQL 开源必读手册-开源PolarDB for PostgreSQL架构介绍(中)
PolarDB for PostgreSQL 开源必读手册-开源PolarDB for PostgreSQL架构介绍
992 0

热门文章

最新文章

相关产品

  • 云原生数据库 PolarDB
  • 推荐镜像

    更多