学习目标
学习openGauss数据库、用户和模式的关系和访问方式,理解模式是在数据库层面,用户是在实例层面
课程学习
一个用户连接到数据库后,可以在这个数据库中创建多个模式。要访问这些模式,可以使用DatabaseName.SchemaName.TableName或者SchemaName.TableName,来访问某个模式下的一个表。
默认情况下访问public模式下的表,可以不用添加模式名前缀。
课程作业
1.查看当前数据库下有哪些模式
root@modb:~# su - omm omm@modb:~$ gsql -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. 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 (10 rows)
复制
2.然后为数据库musicdb创建4个模式,名称自定义
omm=# create tablespace music_tbs relative location 'tablespace/music_tbs'; CREATE TABLESPACE omm=# create database musicdb with tablespace=music_tbs; CREATE DATABASE omm=# omm=# create user user1 identified by 'test@123'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=# alter user user1 sysadmin; ALTER ROLE omm=# \c musicdb user1 Password for user user1: Non-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "musicdb" as user "user1". musicdb=> create schema schm1 authorization user1; CREATE SCHEMA musicdb=> create schema schm2 authorization user1; musicdb=> CREATE SCHEMA musicdb=> create schema schm3 authorization user1; CREATE SCHEMA musicdb=> create schema schm4 authorization user1; CREATE SCHEMA musicdb=> \dn pkg_service | omm public | omm schm1 | user1 schm2 | user1 schm3 | user1 schm4 | user1 snapshot | omm sqladvisor | omm (14 rows) List of schemas Name | Owner -----------------+------- blockchain | omm cstore | omm db4ai | omm dbe_perf | omm dbe_pldebugger | omm dbe_pldeveloper | omm
复制
3.在数据库musicdb的不同的模式下创建同名的表
musicdb=> create table schm1.t1(id int); CREATE TABLE musicdb=> create table schm2.t1(id int); CREATE TABLE musicdb=> create table schm3.t1(id int); CREATE TABLE musicdb=> create table schm4.t1(id int); CREATE TABLE musicdb=> insert into schm1.t1 values(10); INSERT 0 1 musicdb=> insert into schm2.t1 values(20); INSERT 0 1 musicdb=> insert into schm3.t1 values(30); INSERT 0 1 musicdb=> insert into schm4.t1 values(40); INSERT 0 1
复制
4.访问musicdb数据库下不同模式的同名表
musicdb=> show search_path; search_path ---------------- "$user",public (1 row) musicdb=> select * from schm1.t1; musicdb=> id ---- 10 (1 row) musicdb=> select * from schm2.t1; id ---- 20 (1 row) musicdb=> select * from schm3.t1; id ---- 30 (1 row) musicdb=> select * from schm4.t1; musicdb=> id ---- 40 (1 row)
复制
5.实验理解:模式是在数据库层面,用户是在实例层面
musicdb=> \du List of roles Role name | Attributes | Member of -----------+----------------------------------------------------------------------------------------------------- -------------+----------- gaussdb | Sysadmin | {} omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policy admin, UseFT | {} user1 | Sysadmin | {} 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) musicdb=> \q omm@modb:~$ gsql -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. omm=# \du List of roles Role name | Attributes | Member of -----------+----------------------------------------------------------------------------------------------------- -------------+----------- gaussdb | Sysadmin | {} omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policy admin, UseFT | {} user1 | Sysadmin | {} omm=# \dn pkg_service | omm public | omm snapshot | omm sqladvisor | omm user1 | user1 (11 rows) List of schemas Name | Owner -----------------+------- blockchain | omm cstore | omm db4ai | omm dbe_perf | omm dbe_pldebugger | omm dbe_pldeveloper | omm
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论

2年前

评论
相关阅读
2025年3月国产数据库大事记
墨天轮编辑部
895次阅读
2025-04-03 15:21:16
MogDB 发布更新,解决 openGauss 数据库在长事务情况下Ustore表膨胀问题
MogDB
289次阅读
2025-04-17 10:41:41
openGauss 7.0.0-RC1 版本正式发布!
Gauss松鼠会
207次阅读
2025-04-01 12:27:03
MogDB 发布更新,解决 openGauss 数据库在长事务情况下Ustore表膨胀问题
云和恩墨
189次阅读
2025-04-16 09:52:02
openGauss 7.0.0-RC1 版本体验:一主一备快速安装指南
孙莹
181次阅读
2025-04-01 10:30:07
鲲鹏RAG一体机解决方案正式发布 openGauss DataVec向量数据库助力DeepSeek行业应用
Gauss松鼠会
124次阅读
2025-03-31 10:00:29
荣誉时刻!openGauss认证证书快递已发,快来看看谁榜上有名!
墨天轮小教习
113次阅读
2025-04-23 17:39:13
openGauss6.0.0适配操作系统自带的软件,不依赖三方库
来杯拿铁
77次阅读
2025-04-18 10:49:53
opengauss使用gs_probackup进行增量备份恢复
进击的CJR
70次阅读
2025-04-09 16:11:58
GitCode 成 openGauss 新归宿,国产开源数据库里程碑事件
严少安
68次阅读
2025-04-27 11:37:53