openGauss开源数据库实战十

打印 上一主题 下一主题

主题 978|帖子 978|积分 2934

任务十 openGauss逻辑结构:数据库管理

任务目的

数据库是数据库对象的容器,在数据库中可以创建模式、表、索引等数据库对象。openGauss数据库管理包括创建数据库、删除数据库、重命名数据库、查看数据库的信息。
实行步骤

一、登录到openGauss

使用用户omm打开一个Linux终端窗口,执行如下的下令:
  1. gsql -d postgres -p 26000 -r
复制代码
二、创建数据库

执行下面的SOL语句,创建表空间ustb_ts和数据库ustbdb:
  1. CREATE TABLESPACE ustb_ts RELATIVE LOCATION 'tablespace/ustb_ts1';
  2. CREATE DATABASE ustbdb WITH TABLESPACE = ustb_ts;
复制代码
三、查看数据库集群中有哪些数据库

执行下面的gsql下令,查看当前体系上有哪些数据库:
  1. \l
复制代码
执行下面的SQL语句,查看当前体系上有哪些数据库:
  1. SELECT datname FROM pg_database;
  2. \q
复制代码

四、查看数据库默认表空间的信息

使用用户omm打开一个Linux终端窗口,执行如下的下令登录openGauss数据库:
  1. gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
复制代码
可以分两步来查看数据库studentdb默认表空间的信息。首先执行下面的语句,查看数据库
studentdb默认表空间的OID:
  1. select datname,dattablespace from pg_database where datname='studentdb';
复制代码
留意:读者在做实验的时候,表现的OID大概会差别于这里的值16389。然后使用刚刚获得的表空间的OID,来查看表空间的名字:
  1. select oid,spcname from pg_tablespace where oid=163889;
复制代码
可以将上面的两条语句合并成一条语句,来查询数据库studentdb的默认表空间的名字:
  1. select spcname
  2. from pg_tablespace
  3. where oid=( select dattablespace
  4.            from pg_database
  5.            where datname='studentdb' );
复制代码

五、查看数据库下有哪些模式

执行下面的SQL语句,查看当前数据库下有哪些模式:
  1. SELECT catalog_name, schema_name, schema_owner
  2. FROM information_schema.schemata;
复制代码
也可以执行下面的gsql下令,查看当前数据库下有哪些模式:
  1. \dn+
复制代码

六、查看数据库下有哪些表

执行下面的SQL语句,可以查询当前连接的数据库下有哪些表:
  1. with my_tables(table_catalog, table_schema, table_name, table_type) as
  2.     (   select table_catalog, table_schema, table_name, table_type
  3.         from information_schema.tables
  4.         where table_schema not in ('pg_catalog', 'information_schema','dbe_perf')
  5.       )
  6. select * from my_tables;
复制代码
为了完成下一个实验,请保持这个窗口不退出。
七、修改数据库的默认表空间

假如数据库被一个用户打开,就无法更改数据库的默认表空间。
下面用实验证实这一点。先保持用户student连接到数据库studentdb(不要关闭刚才执行
SQL语句的Linux终端窗口。)
使用用户omm打开别的一个Linux终端窗口(我们将该窗口命名为working窗口),执行下
面的语句,先创建表空间app_ts:
  1. gsql -d postgres -p 26000 -r
复制代码
  1. CREATE TABLESPACE app_ts  RELATIVE LOCATION 'tablespace/app_ts1';
复制代码
然后在working窗口下,执行下面的语句,修改数据库studentdb的默认表空间为app_ts:
  1. ALTER DATABASE studentdb SET TABLESPACE app_ts;
复制代码
输出表现,更改数据库studentdb的默认表空间为app_ts的语句没有执行乐成。可见,必须关
闭所有效户对数据库studentdb的连接,才能完成修改数据库studentdb的默认表空间的任务。
执行下面的gsql元下令,关闭对数据库studentdb的所有会话连接(至少得关闭刚才生存的会
话):
  1. \q
复制代码
在working窗口,重新执行上面的下令:
  1. ALTER DATABASE studentdb SET TABLESPACE app_ts;
复制代码
再次执行下面的SQL语句,查询数据库studentdb的默认表空间:
  1. select spcname
  2. from pg_tablespace
  3. where oid=( select dattablespace
  4.            from pg_database
  5.            where datname='studentdb' );
复制代码
可以看到,目前数据库studentdb的默认表空间是app_ts了。
执行下面的SQL语句,重新把数据库studentdb的默认表空间设置为表空间student ts,并退
出gsql:
  1. ALTER DATABASE studentdb SET TABLESPACE student_ts;
  2. drop tablespace app_ts;
  3. \q
复制代码
八、重命名数据库

使用Linux用户omm,执行下面的下令和SOL语句,查看当前openGauss上有哪些数据库:
  1. gsql -d postgres -p 26000 -r
复制代码
  1. \l
复制代码
执行下面的SOL语句,将数据库ustbdb更名为beikedadb:
  1. ALTER DATABASE ustbdb RENAME TO  beikedadb;
复制代码
执行下面的gsql元下令,查看当前体系上有哪些数据库:
  1. \l
复制代码
可以看到,已经把数据库ustbdb更名为beikedadb了。
九、删除数据库

执行下面的下令,删除数据库beikedadb:
  1. DROP DATABASE beikedadb;
复制代码
为了继续下面的测试,重新创建数据库ustbdb:
  1. CREATE DATABASE ustbdb WITH TABLESPACE = ustb_ts;
  2. \q
复制代码

十、修改数据库的默认用户

使用用户omm打开一个Linux终端窗口,执行下面的下令,登录到openGaussDBMS:
  1. gsql -d postgres -p 26000 -r
复制代码
执行下面的SQL语句,创建数据库用户temp_user,并授予用户temp_user SYSADMIN权限:
  1. CREATE USER temp_user  IDENTIFIED BY 'temp_user@ustb2020';
  2. ALTER USER temp_user  SYSADMIN;
复制代码
执行下面的gsql元下令,查看数据库的属主用户是谁:
  1. \l
复制代码
从输出可以看出,数据库ustbdb的拥有者是用户omm。
执行下面的SQL语句,将数据库ustbdb的拥有者变更为数据库用户temp_user:
  1. ALTER DATABASE ustbdb OWNER to temp_user;
复制代码
再次执行下面的gsql元下令,查看数据库的属主情况:
  1. \l
复制代码
从输出可以看到,数据库ustbdb的属主用户已经变更为用户temp_user了。执行下面的SQL语句,
重新将数据库ustbdb的属主更改为用户omm:
  1. ALTER DATABASE ustbdb OWNER to omm;
  2. \l
复制代码

十一、任务的扫尾工作

继续后面的任务之前,执行下面的SOL语句,删除用户temp_user、数据库ustbdb、表空间ustb_ts,
并退出gsql:
  1. drop user temp_user;
  2. drop database ustbdb;
  3. drop tablespace ustb_ts;
  4. \q
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

怀念夏天

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表