返回顶部
首页 > 资讯 > 精选 >openGauss的SCHEMA的原理及管理方法是什么
  • 157
分享到

openGauss的SCHEMA的原理及管理方法是什么

2023-07-05 03:07:11 157人浏览 薄情痞子
摘要

这篇文章主要介绍“openGauss的SCHEMA的原理及管理方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“openGauss的SCHEMA的原理及管理方法是什么”文章能帮助大家解决问题。

这篇文章主要介绍“openGauss的SCHEMA的原理及管理方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“openGauss的SCHEMA的原理及管理方法是什么”文章能帮助大家解决问题。

    1.何为Schema摘要:

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

    数据库(database)、用户(user)、schema、和表的关系如下图所示:

    openGauss的SCHEMA的原理及管理方法是什么

    每个数据库包含一个或多个Schema。数据库中的每个Schema包含表和其他类型的对象。数据库创建初始,默认具有一个名为public的Schema,且所有用户都拥有此Schema的usage权限,只有系统管理员和初始化用户可以在public Schema下创建函数、存储过程和同义词对象,其他用户即使赋予create权限后也不可以创建上述三种对象。可以通过Schema分组数据库对象。Schema类似于操作系统目录,但Schema不能嵌套。

    注意要点

    相同的数据库对象名称可以应用在同一数据库的不同Schema中 CREATE USER创建用户的同时,系统会在执行该命令的数据库中,为该用户创建一个同名的SCHEMA 可以把schema理解成操作系统的目录(文件夹),所不同的是schema只有一层,不能嵌套创建

    2.Schema语法

    ✨ 2.1 创建SCHEMA

    语法:CREATE SCHEMA schema_name [ AUTHORIZATioN user_name ] ;

    案例1:创建一个名为tpcds的模式

    openGauss=#  create schema tpcds;openGauss=# \dn+ tpcds                         List of schemas Name  | Owner | Access privileges | Description | WithBlockChain -------+-------+-------------------+-------------+---------------- tpcds | omm   |                   |             | f

    openGauss的SCHEMA的原理及管理方法是什么

    ✨ 2.2 修改SCHEMA

    修改模式的名称语法:ALTER SCHEMA schema_name RENAME TO new_name; 修改模式的所有者语法:ALTER SCHEMA schema_name OWNER TO new_owner;

    案例1:重命名tpcds为tpcds1

    openGauss=# ALTER SCHEMA tpcds RENAME TO tpcds1;ALTER SCHEMaopenGauss=# \dn+ tpcds1                              List of schemas  Name  | Owner | Access privileges | Description | WithBlockChain --------+-------+-------------------+-------------+---------------- tpcds1 | omm   |                   |             | f

    案例2:创建一个用户jeames, 并将tpcds1的owner修改为jeames

    openGauss=# CREATE USER jeames PASSWord 'abcd@123';CREATE ROLEopenGauss=# \dn     List of schemas      Name       | Owner  -----------------+-------- blockchain      | omm cstore          | omm db4ai           | omm dbe_perf        | omm dbe_pldebugger  | omm dbe_pldeveloper | omm jeames          | jeames mesdb           | mesdb pkg_service     | omm public          | omm snapshot        | omm sqladvisor      | omm tpcds1          | omm(13 rows)openGauss=# ALTER SCHEMA tpcds1 OWNER TO jeames;ALTER SCHEMAopenGauss=# \dn+ tpcds1                          List of schemas  Name  | Owner  | Access privileges | Description | WithBlockChain --------+--------+-------------------+-------------+---------------- tpcds1 | jeames |                   |             | f

    openGauss的SCHEMA的原理及管理方法是什么

    案例3:在模式tpcds1中建表customer、插入记录和查询记录 

    openGauss=# create table tpcds1.customer(id int, name char(30));CREATE TABLEopenGauss=# insert into tpcds1.customer values(1 ,'xxxx');INSERT 0 1openGauss=# select * from tpcds1.customer; id |              name              ----+--------------------------------  1 | xxxx

    ✨ 2.3 删除SCHEMA

    语法:DROP SCHEMA schema_name; 注:不要随意删除pg_temp或pg_toast_temp开头的模式,这些模式是系统内部使用的

    DROP SCHEMA tpcds1 CASCADE;

    openGauss的SCHEMA的原理及管理方法是什么

    补充

    要查看属于某Schema下的表列表,请查询系统视图PG_TABLES: openGauss=# SELECT distinct(tablename),schemaname from pg_tables where schemaname = 'pg_catalog';

    openGauss的SCHEMA的原理及管理方法是什么

    3.Schema赋权

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

    分别创建schema teacher_zhao2、teacher_zhao3(指定AUTHORIZATION),并把create权限赋给teacher_li:openGauss=# create SCHEMA teacher_zhao2;CREATE SCHEMAopenGauss=# \dn+ teacher_zhao2                             List of schemas     Name      | Owner | Access privileges | Description | WithBlockChain ---------------+-------+-------------------+-------------+---------------- teacher_zhao2 | omm   |                   |             | fopenGauss=# CREATE SCHEMA teacher_zhao3 AUTHORIZATION jeames;CREATE SCHEMAopenGauss=# \dn+ teacher_zhao3                              List of schemas     Name      | Owner  | Access privileges | Description | WithBlockChain ---------------+--------+-------------------+-------------+---------------- teacher_zhao3 | jeames |                   |             | f可以发现没有指定AUTHORIZATION的情况下,默认创建用户是clouduser(系统管理员),而指定情况下,则创建用户就是指定的用户。

    下面尝试用jeames登录,创建数据库对象teacher_zhao2.t2:

    openGauss=# grant create on SCHEMA teacher_zhao2 to jeames;openGauss=# grant all on all tables in schema teacher_zhao2 to jeames;openGauss=# grant select on teacher_zhao2.t2 to jeames;openGauss=> create table teacher_zhao2.t2(a int);openGauss=# \c postgres jeamesopenGauss=> create table teacher_zhao2.t2(a int);

    openGauss的SCHEMA的原理及管理方法是什么

    关于“openGauss的SCHEMA的原理及管理方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

    --结束END--

    本文标题: openGauss的SCHEMA的原理及管理方法是什么

    本文链接: https://lsjlt.com/news/349222.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • openGauss的SCHEMA的原理及管理方法是什么
      这篇文章主要介绍“openGauss的SCHEMA的原理及管理方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“openGauss的SCHEMA的原理及管理方法是什么”文章能帮助大家解决问题。...
      99+
      2023-07-05
    • openGauss的SCHEMA的原理及管理介绍
      目录 1.何为Schema摘要: 2.Schema语法✨ 2.1 创建SCHEMA✨ 2.2 修改SCHEMA✨ 2.3 删除SCHEMA 3.Schema赋权 1.何为Schema...
      99+
      2023-02-13
      openGauss SCHEMA管理 openGauss SCHEMA原理
    • React各种状态管理器的原理及使用方法是什么
      今天就跟大家聊聊有关React各种状态管理器的原理及使用方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。首先我们要先知道什么是状态管理器,这玩意是干啥的?当我们在多个页面中使...
      99+
      2023-06-25
    • pt-online-schema-change的操作原理是什么
      本篇内容主要讲解“pt-online-schema-change的操作原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“pt-online-schema-...
      99+
      2024-04-02
    • SSH的原理及用法是什么
      这篇文章将为大家详细讲解有关SSH的原理及用法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,...
      99+
      2023-06-13
    • JWT的原理及用法是什么
      本篇内容介绍了“JWT的原理及用法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、跨域认证的问题互联网服务离不开用户认证。一般流程是...
      99+
      2023-07-04
    • PHP opcache的原理及使用方法是什么
      这篇文章主要介绍了PHP opcache的原理及使用方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP opcache的原理及使用方法是什么文章都会有所收获,下面我们一起来看看吧。PHP项目中,尤其...
      99+
      2023-07-05
    • Java动态代理的原理及实现方法是什么
      本篇内容主要讲解“Java动态代理的原理及实现方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java动态代理的原理及实现方法是什么”吧!代理是指:某些场景下对象会找一个代理对象,来辅助...
      99+
      2023-07-02
    • ADO管理的方法是什么
      这篇文章主要介绍“ADO管理的方法是什么”,在日常操作中,相信很多人在ADO管理的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ADO管理的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
      99+
      2023-06-17
    • Linux进程及作业管理的方法是什么
      这篇文章主要介绍了Linux进程及作业管理的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux进程及作业管理的方法是什么文章都会有所收获,下面我们一起来看看吧。一、进程查看及其管理工具ps命令:...
      99+
      2023-06-28
    • Linux驱动安装及管理的方法是什么
      Linux驱动的安装和管理可以通过以下几种方法:1. 使用软件包管理器:大多数Linux发行版都提供了软件包管理器,例如apt、yu...
      99+
      2023-09-13
      Linux
    • python进程监控及管理的方法是什么
      在Python中,可以使用以下方法来监控和管理进程:1. 使用`subprocess`模块创建和管理子进程。`subprocess`...
      99+
      2023-10-12
      python
    • ThreadLocal的set方法原理是什么
      这篇文章主要介绍了ThreadLocal的set方法原理是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ThreadLocal的set方法原理是什么文章都会有所收获,下面我们一起来看看吧。前沿知识Threa...
      99+
      2023-07-05
    • 负载均衡的原理及使用方法是什么
      负载均衡是一种用于分配网络请求负载的技术,它通过将网络请求分配给多个后端服务器来提高系统的性能、可靠性和可扩展性。负载均衡的原理是基...
      99+
      2023-09-01
      负载均衡
    • Zookeeper原理及在Dubbo中使用的方法是什么
      这篇文章主要介绍了Zookeeper原理及在Dubbo中使用的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Zookeeper原理及在Dubbo中使用的方法是什么文章都会有所收获,下面我们一起来看看吧...
      99+
      2023-07-05
    • Python中的内存管理的原理是什么?
      Python中的内存管理的原理是什么?Python是一种高级的、动态类型的编程语言,具有自动垃圾回收功能。Python内存管理的原理基于引用计数机制和垃圾回收机制。引用计数机制是Python内存管理的基础。每个对象都会有一个引用计数器,用于...
      99+
      2023-10-22
      内存管理原理 Python内存管理 内存分配策略
    • MD5算法原理及C#和JS实现的方法是什么
      本篇内容主要讲解“MD5算法原理及C#和JS实现的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MD5算法原理及C#和JS实现的方法是什么”吧!一、简介MD5 是哈希算法(散列算法)的...
      99+
      2023-07-05
    • cdn加速原理及使用方法是什么
      CDN加速原理是将网站的静态资源(如图片、视频、CSS、JS等)缓存到全球分布的CDN节点上,当用户访问网站时,CDN节点会根据用户...
      99+
      2023-05-15
      cdn加速原理 cdn
    • cdn加速原理及实现方法是什么
      CDN加速原理是通过在全球分布的节点服务器上缓存静态资源,将用户请求转发至最近的缓存节点,从而提高用户访问速度和稳定性。CDN实现方...
      99+
      2023-05-30
      cdn加速原理 cdn
    • jvm原理及性能调优方法是什么
      JVM(Java Virtual Machine)是Java虚拟机的缩写,是Java程序运行的核心组件,负责将Java源代码编译成字...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作