先理解模式:
模式是一组数据库对象的集合,主要用于控制对数据库对象的访问。
openGauss官网对模式的解释:
openGauss的模式是对数据库做一个逻辑分割。所有的数据库对象都建立在模式下面。openGauss的模式和用户是弱绑定的,所谓的弱绑定是指虽然创建用户的同时会自动创建一个同名模式,但用户也可以单独创建模式,并且为用户指定其他的模式。
首先连接openGauss 数据库,连接命令如下:
root@modb:~# su - omm
omm@modb:~$ gsql -r
1.创建一个名为tpcds的模式
omm=# CREATE SCHEMA tpcds;
CREATE SCHEMA
omm=# \dn+ tpcds;
List of schemas
Name | Owner | Access privileges | Description
------+-------+-------------------+-------------
(0 rows)
操作截图:


2.创建一个用户tim, 并将tpcds的owner修改为tim,且修改owner前后分别使用\dn+查看模式信息
创建一个用户tim,语句如下:
omm=# CREATE USER tim PASSWORD 'lxs_data@123';
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
omm=# \dn+ tim
List of schemas
Name | Owner | Access privileges | Description
------+-------+-------------------+-------------
tim | tim | |
(1 row)
将tpcds的owner修改为tim,语句如下:
omm=# \du+ tpcds;
List of roles
Role name | Attributes | Member of | Description
-----------+------------+-----------+-------------
omm=# ALTER SCHEMA tpcds OWNER TO tim;
ALTER SCHEMA
omm=# \dn+ tpcds;
List of schemas
Name | Owner | Access privileges | Description
-------+-------+-------------------+-------------
tpcds | tim | |
(1 row)
操作截图:




3.重命名tpcds为tpcds1
查看tpcds,语句如下:
omm=# \dn+ tpcds;
List of schemas
Name | Owner | Access privileges | Description
-------+-------+-------------------+-------------
tpcds | tim | |
(1 row)
重命名tpcds为tpcds1,语句如下:
omm=# ALTER SCHEMA tpcds RENAME TO tpcds1;
omm=# ALTER SCHEMA
查看tpcds1,语句如下:
omm=# \dn+ tpcds1;
--------+-------+-------------------+-------------
tpcds1 | tim | |
(1 row)
omm=# List of schemas
Name | Owner | Access privileges | Description
操作截图:


4.在模式tpcds1中建表customer、插入记录和查询记录
在模式tpcds1中建表customer,语句如下:omm=# create table tpcds1.customer(id int, name char(30));
CREATE TABLE
omm=# select * from tpcds1.customer;
id | name
----+------
(0 rows)
插入记录,语句如下:
omm=# insert into tpcds1.customer values(100,'lxs_data');
INSERT 0 1
查询记录,语句如下:
omm=# select * from tpcds1.customer;
id | name
-----+--------------------------------
100 | lxs_data
(1 row)
操作截图:



5.删除模式tpcds1
直接drop 删除会有提示,提示如下:
omm=# DROP SCHEMA tpcds1; ----下一步加上CASCADE 再执行一遍
ERROR: cannot drop schema tpcds1 because other objects depend on it
DETAIL: table tpcds1.customer depends on schema tpcds1
HINT: Use DROP ... CASCADE to drop the dependent objects too.
DROP CASCADE删除 模式:
omm=# DROP SCHEMA tpcds1 CASCADE; ---可以删除掉
NOTICE: drop cascades to table tpcds1.customer
DROP SCHEMA
新创建一个SCHEMA ,名为:lxs_data; ,不使用CASCADE 也是可以删除的,
omm=# CREATE SCHEMA lxs_data;
CREATE SCHEMA
omm=# drop SCHEMA lxs_data;
DROP SCHEMA
看官方文档,是这么说的:
CASCADE | RESTRICT
- CASCADE:自动删除包含在模式中的对象。
- RESTRICT:如果模式包含任何对象,则删除失败(缺省行为)。
DROP SCHEMA 官方文档连接地址:
https://opengauss.org/zh/docs/2.1.0/docs/Developerguide/DROP-SCHEMA.html
操作截图:

其他:
持续打卡第6天,继续!!!!!!!




