highgo DB中数据库对象,模式,用户,权限之间的关系

文章目录

环境

系统平台:Microsoft Windows (64-bit) 10

版本:5.6.4

文档用途

根据自己的使用数据库心得,以及客户在权限这部分遇到的问题,自己总结了一下在HGDB当中,数据库,模式,角色和权限之间的一些关系。

详细信息

一、对应关系

1、数据库和模式:一个服务器上可以有多个数据库,每个数据库会有多个模式,模式下面是数据库对象。

2、每个数据库,模式,数据库对象都有其唯一的所有者。在其他用户没被授权的情况下,只有highgo用户和其所有者才能够操纵(读写)这些数据库对象。

3、用户和数据库对象:每个数据库只能有一个其所有者,但一个用户可以拥有多个数据库,模式,数据库对象。

4、权限问题:对于数据库,模式和数据库对象来说,只有超级用户(highgo)及其所有者才有权限修改这些数据库对象。如果其他用户想要修改不属于他们的数据库对象,可以通过超级用户或者其所有者对这个用户授权来达到目的。命令如下:

授权语句:

sql 复制代码
GRANT ALL ON SCHEMA schema_name to user_name;
GRANT ALL ON ALL TABLES IN SCHEMA schema_name to user_name;

二、实际用例

目的要求:创建了多个模式,每个模式对应一个用户,要求这些用户可以对这些模式相互访问(读写操作)。

解决方案如上:可以通过超级用户或者其所有者对这个用户授权来达到目的。命令如下:

授权语句:

sql 复制代码
GRANT ALL ON SCHEMA schema_name to user_name;
GRANT ALL ON ALL TABLES IN SCHEMA schema_name to user_name;
相关推荐
微三云 - 廖会灵 (私域系统开发)1 小时前
电商系统国际化架构设计:多语言、多币种、多时区、多税制的全链路实现
java·前端·数据库
周杰伦的稻香2 小时前
PostgreSQL中的METHOD(认证方法)
数据库·postgresql
万岳科技系统开发2 小时前
智慧医院小程序开发满足医疗机构多场景服务需求
数据库·学习·小程序
kisbad2 小时前
Day 012|Embedding 和向量数据库:知识库检索到底在检什么
数据库·python·embedding·agent
谷禾牛博2 小时前
肠道菌群检测流程及差异和技术门槛在哪里?
数据库·经验分享·功能测试
Zhu7583 小时前
对docker环境的postgresql数据库做快速初始化
数据库·docker·postgresql
Wang's Blog3 小时前
Go-Zero项目开发5: 数据库与缓存一致性问题及 go-zero 缓存机制解析
数据库·缓存·golang
布朗克1683 小时前
Go 入门到精通-18-文件操作
java·数据库·golang
ShoreKiten3 小时前
SQL注入之SQL Server增删改查
数据库·sql
Mico183 小时前
MySQL 8.0.35 源码编译安装笔记
数据库·笔记·mysql