当前位置: 首页 > news >正文

第7天 | openGauss中一个数据库中可以创建多个模式

接着昨天继续学习openGauss,今天是第7天了。今天学习内容是openGauss数据库、用户和模式的关系和访问方式,理解模式是在数据库层面,用户是在实例层面。今早去参加了区里的一个会议,学习来晚了点,抓紧交作业了。
老规矩,先登陆墨天轮为我准备的实训实验室,并创建好表空间和数据库

root@modb:~# su - omm
omm@modb:~$ gsql -r
omm=#  CREATE TABLESPACE music_tbs RELATIVE LOCATION 'tablespace/test_ts1';
omm=#  CREATE DATABASE musicdb  WITH TABLESPACE = music_tbs;

创建用户和赋予权限

omm=# CREATE USER user1 IDENTIFIED BY 'user1@1234';
NOTICE:  The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
omm=# ALTER USER user1 SYSADMIN;
omm=# ALTER ROLE

以上内容都是复习和巩固前期学到的命令内容,循序渐进。

1.查看当前数据库下有哪些模式

– 使用用户user1连接到数据库musicdb,首先查看当前数据库下有哪些模式;

omm=# \q
omm@modb:~$ gsql -d musicdb  -U user1 -p 5432 -W user1@1234 -r
gsql ((openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:00 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.musicdb=> \dndbe_pldeveloper | ommpkg_service     | ommpublic          | ommsnapshot        | ommsqladvisor      | omm
(10 rows)musicdb=>      List of schemasName       | Owner 
-----------------+-------blockchain      | ommcstore          | ommdb4ai           | ommdbe_perf        | ommdbe_pldebugger  | omm
2.然后为数据库musicdb创建4个模式,名称自定义

–用户user1在数据库musicdb中,创建了4个模式:schm1、 schm2、 schm3、 schm4

musicdb=> create schema  schm1  AUTHORIZATION user1;
CREATE SCHEMA
musicdb=> create schema  schm2  AUTHORIZATION user1;
CREATE SCHEMA
musicdb=> create schema  schm3  AUTHORIZATION user1;
CREATE SCHEMA
musicdb=> create schema  schm4  AUTHORIZATION user1;
CREATE SCHEMA

–查看musicdb数据库下有哪些模式:

musicdb=> \dnList of schemasName       | Owner 
-----------------+-------blockchain      | ommcstore          | ommdb4ai           | ommdbe_perf        | ommdbe_pldebugger  | ommdbe_pldeveloper | ommpkg_service     | ommpublic          | ommschm1           | user1schm2           | user1schm3           | user1schm4           | user1snapshot        | ommsqladvisor      | omm
(14 rows)
3.在数据库musicdb的不同的模式下创建同名的表

–在不同模式下,创建相同的表并插入数据

musicdb=> create table schm1.ttt(col varchar(100));
CREATE TABLE
musicdb=> create table schm2.ttt(col varchar(100));
CREATE TABLE
musicdb=> create table schm3.ttt(col varchar(100));
CREATE TABLE
musicdb=> create table schm4.ttt(col varchar(100));
CREATE TABLE
musicdb=> insert into schm1.ttt values('Hello! from schema schm1   11111');
INSERT 0 1
musicdb=> insert into schm2.ttt values('Hello! from schema schm2   22222');
INSERT 0 1
musicdb=> insert into schm3.ttt values('Hello! from schema schm3   33333');
INSERT 0 1
musicdb=> insert into schm4.ttt values('Hello! from schema schm4   44444');
INSERT 0 1
4.访问musicdb数据库下不同模式的同名表
select * from schm1.ttt;                    
select * from schm2.ttt;               
select * from schm3.ttt;         
select * from schm4.ttt;
5.实验理解:模式是在数据库层面,用户是在实例层面

–登录musicdb数据库,查看用户和模式

gsql -d musicdb  -U user1 -p 5432 -W kunpeng@1234 -r
\du
\dn
\q

–登录omm数据库,查看用户和模式

gsql -r
\du
\dn
\q
总结

模式是在数据库层面,用户是在实例层面.

在数据库层面如下

musicdb=> \dn
List of schemas
Name | Owner
-----------------±------
blockchain | omm
cstore | omm
db4ai | omm
dbe_perf | omm
dbe_pldebugger | omm
dbe_pldeveloper | omm
pkg_service | omm
public | omm
schm1 | user1
schm2 | user1
schm3 | user1
schm4 | user1
snapshot | omm
sqladvisor | omm
(14 rows)

在用户层面如下

omm=# \dn
List of schemas
Name | Owner
-----------------±------
blockchain | omm
cstore | omm
db4ai | omm
dbe_perf | omm
dbe_pldebugger | omm
dbe_pldeveloper | omm
pkg_service | omm
public | omm
snapshot | omm
sqladvisor | omm
user1 | user1
(11 rows)

http://www.dtcms.com/a/286275.html

相关文章:

  • 51c视觉~合集13
  • 互联网医疗健康服务包的核心内容架构与模块组合
  • 小记_想写啥写啥_实现行间的Latex公式_VScode始终折叠大纲
  • 构建直播平台大体的流程
  • gcc 源码阅读---编译器后端实现的关键数据结构
  • DOM笔记
  • 什么是KL散度
  • Android-EDLA【CTS】CtsInputMethodTestCases存在fail
  • 4G模块 A7680发送中文短信到手机
  • 高精度减法模版和分析(C++版本)
  • 嵌入式八股(持续更新)
  • 【算法训练营Day14】二叉树part4
  • windows终端美化(原生配置+Oh My Posh主题美化)
  • 客诉:危机到信任的重建
  • Flutter 应用如何设计通知服务
  • Flutter——Android原生View是如何通过Flutter进行加载
  • 2025年Flutter开发主流技术栈
  • Flutter 多语言(国际化)入门教程
  • 企业如何让内部视频仅限公司官网或指定域名播放?
  • 低代码开发实践博客
  • C++语法 匿名对象 与 命名对象 的详细区分
  • IDEA 中 Maven 配置:当前项目与新项目的统一设置方法
  • 【Docker基础】Docker Compose核心配置文件深度解析:从YAML语法到高级配置
  • 【数据结构】栈的深入解析--用C语言实现
  • Linux 环境下 NNG 通讯库:在嵌入式设备上应用
  • [2025CVPR-目标检测方向] CorrBEV:多视图3D物体检测
  • Docker 与 GPU 训练
  • 排序【各种题型+对应LeetCode习题练习】
  • 线程控制:互斥与同步
  • IDEA高效开发:Database Navigator插件安装与核心使用指南