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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




