openGauss中一个表空间可以存储多个数据库
进一步学习表空间与数据库对象的关系,了解oid的含义。
1.创建表空间、多个数据库和用户
CREATE TABLESPACE music_tbs RELATIVE LOCATION 'tablespace/test_ts1';
CREATE DATABASE musicdb WITH TABLESPACE = music_tbs;
CREATE DATABASE musicdb1 WITH TABLESPACE = music_tbs;
CREATE DATABASE musicdb2 WITH TABLESPACE = music_tbs;
CREATE DATABASE musicdb3 WITH TABLESPACE = music_tbs;
--执行下面的SQL语句,创建用户user1 :
drop user IF EXISTS user1;
CREATE USER user1 IDENTIFIED BY 'kunpeng@1234';
ALTER USER user1 SYSADMIN;
2.使用sql查看数据库所在的表空间
--查看数据库所在的表空间,可以看到一个表空间可以有多个数据库
select datname,dattablespace,spcname from pg_database d, pg_tablespace t where d.dattablespace=t.oid;
3.在文件系统中查看表空间中的多个数据库
--查看数据库、表空间的oid
select oid,datname from pg_database;
select oid,* from pg_tablespace ;
select datname,dattablespace,spcname from pg_database d, pg_tablespace t where d.dattablespace=t.oid;
#说明:16505是表空间music_tbs的oid
--从文件系统,查看music_tbs表空间oid,可以看到一个表空间可以有多个数据库
[omm@fdb62pd2 ~]$ ls -lrt /apps2/opengauss/install/data/dn/pg_tblspc/16506/
total 4
drwx------ 7 omm dbgrp 4096 Dec 6 15:19 PG_9.2_201611171_dn_6001_6002
[omm@fdb62pd2 ~]$ ls -lrt /apps2/opengauss/install/data/dn/pg_tblspc/16506/PG_9.2_201611171_dn_6001_6002/
total 68
drwx------ 2 omm dbgrp 4096 Dec 6 15:19 pgsql_tmp
drwx------ 2 omm dbgrp 16384 Dec 6 15:19 16507
drwx------ 2 omm dbgrp 16384 Dec 6 15:19 16508
drwx------ 2 omm dbgrp 16384 Dec 6 15:19 16509
drwx------ 2 omm dbgrp 16384 Dec 6 15:19 16510
[omm@fdb62pd2 ~]$ tree /apps2/opengauss/install/data/dn/pg_tblspc/16506/ -L 2
/apps2/opengauss/install/data/dn/pg_tblspc/16506/
└── PG_9.2_201611171_dn_6001_6002
├── 16507
├── 16508
├── 16509
├── 16510
└── pgsql_tmp
6 directories, 0 files
说明:openGauss中一个表空间可以存储多个数据库。




