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

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

原创 Heming 2022-12-04
543

openGauss每日一练第9天

一个表空间可以存储多个数据库

实验一个表空间存储多个数据库,理解表空间与数据库对象的关系和oid的含义,并完成课后作业。

创建一个表空间tbs1

在omm用户下通过gsql -r连接数据库后,创建一个名为tps1的表空间位于tablespace/t1

omm=# create tablespace tbs1 relative location 'tablespace/t1'; CREATE TABLESPACE

创建3个数据库默认表空间为tbs1

omm=# create database newdb1 with tablespace = tbs1; CREATE DATABASE omm=# create database newdb2 with tablespace = tbs1; CREATE DATABASE omm=# create database newdb3 with tablespace = tbs1; CREATE DATABASE

查看数据库和表空间

omm=# select datname,dattablespace,spcname from pg_database d, pg_tablespace t where d.dattablespace=t.oid and spcname = 'tbs1'; datname | dattablespace | spcname ---------+---------------+--------- newdb2 | 16416 | tbs1 newdb3 | 16416 | tbs1 newdb1 | 16416 | tbs1 (3 rows)

可以看见三个数据库的表空间都是tbs1,oid就是指表空间的id。

通过文件系统查看表空间

在opengauss的目录里,我们可以通过oid找到表空间tbs的地址

omm@e537701a151a:/var/lib/opengauss/data/pg_tblspc$ ls 16406 16407 16416

可以看到名为16416的目录就是我们表空间tbs1的目录。

总结

表空间下可以存储多个数据库,oid字段是表空间的唯一标识,可以通过oid在数据库文件中查找到表空间的文件目录。

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

评论