第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=> \dn
 dbe_pldeveloper | omm
 pkg_service     | omm
 public          | omm
 snapshot        | omm
 sqladvisor      | omm
(10 rows)

musicdb=>      List of schemas
      Name       | Owner 
-----------------+-------
 blockchain      | omm
 cstore          | omm
 db4ai           | omm
 dbe_perf        | omm
 dbe_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=> \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)
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)

相关推荐
其实防守也摸鱼9 小时前
权限提升与横向移动:从内网渗透到域控的完整技术图谱
运维·服务器·数据库·安全·github·copilot·渗透
人生百态,人生如梦9 小时前
每日论文解读(9.1)——ReToolSQL:面向鲁棒Text-to-SQL的Agentic强化学习与工具增强两阶段训练框架
数据库·sql
Irene19919 小时前
格式化掩码 FM999999999999999999999.00 是 Oracle 数据库中 TO_CHAR 函数的数字格式模型
oracle·数字格式
DevOpenClub9 小时前
网页采集如何稳定输出结构化数据:JSON、链接与快照三阶段流水线
数据库·json·api
其实防守也摸鱼10 小时前
免杀与持久化入门:从载荷免杀到隐蔽通道的完整指南
运维·服务器·数据库·安全·github·copilot·渗透
SelectDB10 小时前
统一全文检索与 SQL 分析:Apache Doris 日志分析实践
运维·数据库·掘金技术征文
麻瓜code10 小时前
【MySQL】SQL优化实战:从慢查询定位到查询改写
数据库·sql·mysql
蓝鸟197410 小时前
Oracle HIS业务视图优化实战|VI_BQ_YWTX11从高耗费到秒级响应
数据库·oracle·his数据库调优·复合索引踩坑·is null索引问题·ql视图优化
数智启示录11 小时前
Apache Doris 4.0.8 混合检索实战(第 5 篇):三套系统只返回两条结果,一条 SQL 如何避开交集丢失
大数据·数据库·经验分享·sql·面试
今天AI了吗11 小时前
大模型技术全景(一):AI、机器学习、深度学习,三者的关系到底是什么?一文搞懂
数据库·人工智能·python·sql·深度学习·机器学习·rust