openGauss中Schema赋权小试

news2025/1/20 1:39:21

目录

概述

1.关于public的权限要点:

2.关于用户同名的schema的权限要点:

3.关于普通schema的权限要点:


概述

下面是openGauss官网对Schema的介绍:

Schema又称作模式。通过管理Schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的Schema下而不引起冲突。

参考地址:Schema

数据库创建后,默认具有一个schema叫做public,所有用户都具有public的usage权限;用户可以创建其他的schema;另外创建数据库用户的时候,也会创建一个和该数据库用户同名的schema。

1.关于public的权限要点:

只有初始化用户和系统管理员可以在public下面创建函数,存储过程和同义词对象,其他用户即使赋予了create权限,也不能创建上述三种对象。可以把schema理解成操作系统的目录(文件夹),所不同的是schema只有一层,不能嵌套创建。

以下举例:teacher_li用户已经赋予了public的create权限:

grant create on SCHEMA public to teacher_zhao;)。

 

执行时报错:

执行时出错 确认要继续执行吗?

单击“详细信息”了解详情。

  SQL错误码: = 42501

ERROR: permission denied to create function "f_class_eng1"

  Hint: must be sysadmin to create a function in public schema.

 行号: 10

 

在某些数据库中,schema也叫作命名空间(namespace),openGauss的系统表也叫作PG_NAMESPACE。查询PG_NAMESPACE也可以看到每个schema的赋权情况。

 

根据上图可以看出,teacher_zhao拥有public的create权限(’C’)。

2.关于用户同名的schema的权限要点:

对于用户同名的schema,即使赋予create权限给其他用户,其他用户也无法在该schema下面创建数据库对象,但是把usage权限赋予其他用户后,其他用户是可以查看该schema下面的表信息的。

如上面所示,teacher_zhao拥有和用户teacher_li 同名schema的create权限,但是执行创建数据库对象语句时,仍然报错,不能执行:

执行时出错 确认要继续执行吗?

单击“详细信息”了解详情。

  SQL错误码: = 42501

ERROR: current user does not have privilege to role teacher_li

 行号: 3

 

需要把用户/角色teacher_li赋予teacher_zhao之后,teacher_zhao才可以在teacher_li的同名schema下创建数据库对象。

赋权语句:grant teacher_li to teacher_zhao;

执行结果:create table teacher_li.t1(a int);

说明:用户拥有create权限,即可认为用户也拥有查询的权限,如下图所示,teacher_zhao的usage权限已经被回收:

REVOKE  usage on schema teacher_li from teacher_zhao;

然而还是能够查询表

回收

 查询权限:

 查询表数据:select * from teacher_li.t1

3.关于普通schema的权限要点:

普通schema的create权限grant给其他用户后,其他用户即可以创建对象。

用clouduser分别创建schema teacher_zhao2、teacher_zhao3(指定AUTHORIZATION),并把create权限赋给teacher_li:

create SCHEMA teacher_zhao2;

CREATE SCHEMA teacher_zhao3  AUTHORIZATION teacher_zhao;

grant create on SCHEMA teacher_zhao2 to teacher_li;

grant create on SCHEMA teacher_zhao3 to teacher_li;create SCHEMA teacher_zhao2;

CREATE SCHEMA teacher_zhao3  AUTHORIZATION teacher_zhao;

grant create on SCHEMA teacher_zhao2 to teacher_li;

grant create on SCHEMA teacher_zhao3 to teacher_li;v

查询schema系统表:

select * from pg_namespace where nspname like 'teacher_zhao%'

 

可以发现没有指定AUTHORIZATION的情况下,默认创建用户是clouduser(系统管理员),而指定情况下,则创建用户就是指定的用户。

下面尝试用teacher_li登录,创建数据库对象:

create table teacher_zhao2.t2(a int);

create table teacher_zhao3.t2(a int);

创建成功。

作者:如鱼得水

🍒如果您觉得博主的文章还不错或者有帮助的话,请关注一下博主,如果三连点赞评论收藏就更好啦!谢谢各位大佬给予的支持!

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

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

相关文章

MATLAB-二维线性插值运算

二维插值在图像处理和数据可视化方面得到了大量的应用,二维插值的基本原理与一维插值一样,但二维插值是对两个变量进行函数的插值。在MATLAB中,主要使用interp2()函数进行二维插值的实现,其调用格式如下,zi interp2(z,…

Nodejs也能做文本数据处理了,快来看看吧!

随着汉语言的广泛应用,中文信息处理成了一个重要的研究课题,常见于搜索引擎:信息检索、中外文自动翻译、数据挖掘技术、自然语言处理等领域。在处理的过程中,中文分词是最基础的一环。 nodejieba 简介 nodeJieba 是结巴中文分词…

安装thinkphp

[TOC]目录 1. 安装composer 方法:https://www.kancloud.cn/manual/thinkphp6_0/1037481 官网教程中安装composer 2. 配置文件 在命令行中 阿里云: composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 华为云&#x…

axios基础学习——通过 Vue + axios 获取接口数据的小demo

文章目录 📋前言 🎯关于axios概要 ❓什么是axios 🧩axios特性 🧩axios浏览器支持情况 🎯axios安装与使用 🧩axios请求方法 🧩axios的使用方法(以get为例子) &am…

[C语言]进一步的来了解指针(多多多图详解)

本文章进一步的来讲解指针,如果是第一次接触指针的可以先看一下对于指针的初步理解 : [C语言]初步的来了解一下指针(多图详解)_HY_PIGIE的博客-CSDN博客 目录 1.字符指针 2.指针数组 2.1指针数组:char*类型举例说明 2…

Thawte旗下通配符SSL证书都有什么区别

Thawte由南非Mark Shuttleworth创立,Thawte SSL证书产品占据了全球SSL数字证书市场的40%,是全球第三大数字证书颁发机构(CA)。随后VeriSign于2000年2月1日以5.75亿美元对Thawte换股完成收购,互相合作&#…

GDI对象泄漏导致程序UI界面绘制异常的问题排查

目录 1、问题说明 2、初步分析 3、查看任务管理器,并使用GDIView工具分析 5、采用历史版本比对法,确定初次出现问题的时间点,并查看前一天的代码修改记录 6、将修改的代码与测试现象结合起来,最终定位问题 7、事后的思考 8…

Simulating Content Consistent Vehicle Datasets with Attribute Descent(略读)

提出了一个大型的3D合成数据集VehicleX。其中各个3D模型都有现实世界的车型对应。整个数据集有1362个id,其中包括11种主流车型。 论文:https://arxiv.org/pdf/1912.08855.pdf 摘要 本文使用图形引擎来模拟带有免费注释的大量训练数据。 在合成数据和真…

回归预测 | MATLAB实现RF随机森林多输入单输出回归预测(含回归树,误差柱状图,多指标)

回归预测 | MATLAB实现RF随机森林多输入单输出回归预测(含回归树,误差柱状图,多指标) 目录 回归预测 | MATLAB实现RF随机森林多输入单输出回归预测(含回归树,误差柱状图,多指标)效果分析基本介绍输出结果程序设计学习总结参考资料效果分析

Mars3D Studio平台发布

近日我们基于提供丰富及智能化功能,助力团队做出精美的交互场景的理念,研发了Mars3D Studio平台,于2023年1月10日正式发布上线!欢迎大家访问http://studio.mars3d.cn/ 网站进行体验。一、资源广场团队公开的丰富资源数据&#xff…

LeetCode题目笔记——1658. 将 x 减到 0 的最小操作数

文章目录题目描述题目难度——中等方法一:反向思考,双指针求最长子数组代码/Python代码/C方法二:滑动窗口代码总结我把这篇也归到面试题那一栏,因为觉得这题的思路和思考方式还挺好的,或许能用到其他题上 题目描述 给…

基于Node.js Vue清新严选助农电商平台/电商平台/购物平台

摘 要网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理模块,对于清新严选助农电商将是又一个传统管理到智能化信息管理的改革,设计清新严选助农电商平台的目的就是借助计算机让复杂的购买商品操作变简单&#x…

gcc和gdb的使用——Linux

Linux学习全部合集点击即可订阅 “人生得意须尽欢” 这里是目录标题gcc的基本操作gcc处理代码的步骤预处理编译汇编链接头文件和库静态库动态库gdb调试makefile什么是makefile?进度条的实现缓冲区回车和换行git的使用.gitigonregcc的基本操作 编写代码的最基本操作…

【工具Share】用VBA获取批量文件中的同一个单元格内容

最近鼓捣了个工具,可以批量从固定文件夹的excel中获取同一个单元格中的具体内容(当然,你也可以根据自己的需要,进行多个单元格内容的取得) 可能这么说比较抽象,举例来说比如你在多个相同模板的excel中定义了…

java循环结构的概述

在之前的文章中,已经给大家详细地介绍过变量相关的内容,比如变量的概念、命名规范、变量的定义及底层原理等内容。但其实变量还有作用范围的概念,并且根据作用范围的不同,变量还可以分为成员变量、局部变量等内容。在我们今天开始…

Nacos config 配置中心详解

Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。Spring Cloud Alibaba Naco…

【算法基础(1)】认识时间复杂度和常用排序算法

1 认识时间复杂度 1.1 什么是时间复杂度? 时间复杂度是一个函数,它定性描述该算法的运行时间,在软件开发中,时间复杂度就是用来方便开发者估算出程序运行时间,通常用算法的操作单元数量来代表程序消耗的时间&#xf…

pageoffice在线编辑word文件并禁止选中

一、整篇文档禁止选中 wordDoc.setDisableWindowSelection(true); //禁止word的选择文字功能 二、根据条件判断是否禁止选中 比如:选中内容超过一定字数,取消选中 解决方案:使用后端提供的OnWordSelectionChange事件。 PageOfficeCtrl po…

sgRNAs基因编辑

CRISPR-Cas9知识学习笔记 https://www.163.com/dy/article/FGCP58KC0532AN5N.html https://crispr.dbcls.jp CRISPR(clustered regularly interspaced short palindromic repeats,成簇的规律间隔短回文重复序列)和CRISPR-associated protein …

Spring Cloud Gateway服务网关的部署与使用(结合nacos)

一、微服务网关1.什么是微服务网关在传统的单体架构中,我们只需要开放一个服务给客户端调用即可。但是微服务架构中是将一个系统拆分成多个微服务,不同的微服务一般会有不同的网络地址,客户端在访问这些微服务时必须记住几十甚至百个地址&…