暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

openGauss每日一练第12天 | 学习心得体会

原创 英特纳熊奈尔 2022-12-05
183

一、作业

1.创建一个名为testsm、testsm1的模式:

(1)首先打开虚拟机上的opengauss数据库服务并进入数据库:

su - omm
gs_om -t start
gsql -d postgres -p 26000 -r

(2)创建user1并授予user1权限

因为我之前已经创建好了user1,并已经赋予了权限,所以直接使用 \du 元命令查询当前用户:

(3)创建名为testsm、testsm1的模式

再此之前,先创建表空间enmtbs和数据库enmdb,在这个数据库上操作

--执行如下的命令和SQL语句,创建表空间enmtbs和数据库enmdb:

CREATE TABLESPACE enmtbs RELATIVE LOCATION 'tablespace/enmtbs1';
CREATE DATABASE enmdb WITH TABLESPACE = enmtbs;

然后用 \c enmdb 进入到这个数据库

然后开始创建模式

create schema testsm;
create schema testsm1;

使用 \dn 查看

2.创建一个用户john, 并将testsm的owner修改为john,且修改owner前后分别使用\dn+查看模式信息:

(1)创建用户john并赋予权限

CREATE USER john IDENTIFIED BY 'kunpeng@1234';
 ALTER USER john  SYSADMIN;

(2)将testsm的owner修改为john

修改前先使用 \dn+ 查看

--修改模式的所有者
ALTER SCHEMA testsm OWNER TO john;

可以看到模式的所有者已经被修改了。

3.重命名testsm为testsm1:

--修改模式的名称
ALTER SCHEMA testsm RENAME TO testsm1;

因为已经存在一个testsm1的模式,所以这里会报错,所以我重新改为testsm2

ALTER SCHEMA testsm RENAME TO testsm2;

然后用 \dn 查看

已经可以看到模式名字已经成功修改了

4.在模式testsm1中建表t1、插入记录和查询记录:

(1)在模式testsm1建表t1

create table testsm1.t1(id int, name char(20));

(2)插入记录

insert into testsm1.t1 values(1,'wkz');

(3)查询记录

select * from testsm1.t1;

5.在会话级设置模式搜索顺序:

要注意的是:会话级模式搜索顺序的优先级最高,用户级模式搜索顺序的优先级第2,数据库级模式搜索顺序的优先级最低。

SET SEARCH_PATH TO schm1;
 show SEARCH_PATH;
 \q
gsql -d postgres -p 26000 -r
show SEARCH_PATH;

6.在数据库级设置模式搜索顺序:

ALTER DATABASE enmdb SET SEARCH_PATH TO schm1;
\q
gsql -d postgres -p 26000 -r
\c enmdb user1
show SEARCH_PATH;

7.在用户级设置模式搜索顺序:

ALTER USER user1 SET SEARCH_PATH TO schm2;
\q
gsql -d postgres -p 26000 -r
\c enmdb user1
show SEARCH_PATH;


二、心得体会

通过第12天的学习,我知道了在一个数据库中,可以有多个模式,知道了opengauss数据库的模式管理,openGauss的模式是对数据库做一个逻辑分割。所有的数据库对象都建立在模式下面。openGauss的模式和用户是弱绑定的,所谓的弱绑定是指虽然创建用户的同时会自动创建一个同名模式,但用户也可以单独创建模式,并且为用户指定其他的模式。模式可以把一组对象组织在一起。这样组织机构有多少个应用,我们可以将数据库对象组织成几个模式;组织机构有几个部门,也可以为该部门创建单独的模式。默认情况下,用户将访问数据库的public模式。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论