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

openGauss每日一练第9天|openGauss中一个表空间可以存储多个数据库

原创 听风 丶 2022-12-02
258

一、学习目标

进一步学习表空间与数据库对象的关系,了解oid的含义。

二、课程学习

openGauss中一个表空间可以存储多个数据库,任务非常简单

三、课程作业

测试环境准备:

  • 连接数据库:
    image.png
  • 清除已有的环境:
    image.png
  • 此时环境如下
    image.png
    image.png

可以开始进行操作了!

1.创建表空间newtbs1

CREATE TABLESPACE newtbs1 RELATIVE LOCATION ‘tablespace/test_ts1’;
image.png

2.创建3个数据库newdb1、newdb2、newdb3,默认表空间为newtbs1

CREATE DATABASE newdb1 WITH TABLESPACE = newtbs1;
CREATE DATABASE newdb2 WITH TABLESPACE = newtbs1;
CREATE DATABASE newdb3 WITH TABLESPACE = newtbs1;
image.png

3.使用sql查看表空间newtbs1上有几个数据库

查看数据库的oid:
select oid,datname from pg_database;
image.png

查看表空间的oid:
select oid,* from pg_tablespace;
image.png

查看数据库所在的表空间:
select datname,dattablespace,spcname from pg_database d, pg_tablespace t where d.dattablespace=t.oid;
image.png
可以看到我们新创建的数据库存在于表空间newtbs1,说明openGauss中一个表空间可以存储多个数据库

验证成功:从查看数据库所在的表空间所展示出来的东西,可以看到一个表空间可以有多个数据库:

4.在文件系统中查看表空间newtbs1中的多个数据库

\q退出数据库
从文件系统,查看newtbs1表空间oid,可以看到一个表空间可以有多个数据库:
cd /var/lib/opengauss/data/pg_tblspc/16389/
cd PG_9.2*
ls
image.png

从第三步的查看数据库的oid可以看到,
16390 16391 16392属于数据库oid,文件系统中找寻的结果,与在数据库中找寻的oid相符,实验成功

补充说明:16389是表空间newtbs1的oid

四、个人小结

  • 本次学习内容是第八天的衍生——openGauss中一个表空间可以存储多个数据库,今天实验内容重点在于对openGauss文件系统的架构的说明,我们需要学习如何从数据库和数据库外部查看我们所创建出来的数据库和表空间,涉及到一些openGauss结构和系统表的知识,还需要掌握对sql语句查询的书写。本次作业内容简单而且课程引导很好,能快速完成今天打卡,如果大家熟悉相关操作和数据库语句就能很快上手并完成任务,希望大家都继续坚持打卡,互勉加油!
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论