学习目标
进一步学习表空间与数据库对象的关系,了解oid的含义。
课程学习
1.创建表空间、多个数据库和用户
进入数据库omm,创建表空间、测试数据库
omm=# drop DATABASE IF EXISTS musicdb;
NOTICE: database "musicdb" does not exist, skipping
DROP DATABASE
omm=# drop DATABASE IF EXISTS musicdb1;
NOTICE: database "musicdb1" does not exist, skipping
DROP DATABASE
omm=# DROP DATABASE
NOTICE: database "musicdb2" does not exist, skipping
drop DATABASE IF EXISTS musicdb2;
omm=# drop DATABASE IF EXISTS musicdb3;
NOTICE: database "musicdb3" does not exist, skipping
DROP DATABASE
omm=# drop tablespace IF EXISTS music_tbs;
NOTICE: Tablespace "music_tbs" does not exist, skipping.
DROP TABLESPACE
omm=# drop tablespace IF EXISTS ds_location1;
NOTICE: Tablespace "ds_location1" does not exist, skipping.
DROP TABLESPACE
omm=#
omm=#
omm=# CREATE TABLESPACE music_tbs RELATIVE LOCATION 'tablespace/test_ts1';
CREATE TABLESPACE
omm=# CREATE DATABASE musicdb WITH TABLESPACE = music_tbs;
CREATE DATABASE
omm=# CREATE DATABASE musicdb1 WITH TABLESPACE = music_tbs;
CREATE DATABASE
omm=# CREATE DATABASE musicdb2 WITH TABLESPACE = music_tbs;
CREATE DATABASE
omm=# CREATE DATABASE musicdb3 WITH TABLESPACE = music_tbs;
CREATE DATABASE
创建用户user1并授权
omm=# CREATE USER user1 IDENTIFIED BY 'kunpeng@1234';
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
omm=# ALTER USER user1 SYSADMIN;
ALTER ROLE
2、使用sql查看数据库所在的表空间
查看数据库所在的表空间,可以看到一个表空间可以有多个数据库
omm=# select datname,dattablespace,spcname from pg_database d, pg_tablespace t where d.dattablespace=t.oid;
datname | dattablespace | spcname
-----------+---------------+------------
template1 | 1663 | pg_default
omm | 1663 | pg_default
musicdb | 16389 | music_tbs
template0 | 1663 | pg_default
musicdb1 | 16389 | music_tbs
musicdb2 | 16389 | music_tbs
musicdb3 | 16389 | music_tbs
postgres | 1663 | pg_default
(8 rows)
3、在文件系统中查看表空间中的多个数据库
查看数据库、表空间的oid
omm=# select oid,datname from pg_database;
oid | datname
-------+-----------
1 | template1
16384 | omm
16390 | musicdb
14555 | template0
16391 | musicdb1
16392 | musicdb2
16393 | musicdb3
14560 | postgres
(8 rows)
omm=#
omm=# select oid,* from pg_tablespace ;
16389 | music_tbs | 10 | | | | t
(3 rows)
omm=#
oid | spcname | spcowner | spcacl | spcoptions | spcmaxsize | relative
-------+------------+----------+--------+------------+------------+----------
1663 | pg_default | 10 | | | | f
1664 | pg_global | 10 | | | | f
omm=# select datname,dattablespace,spcname from pg_database d, pg_tablespace t where d.dattablespace=t.oid;
datname | dattablespace | spcname
-----------+---------------+------------
template1 | 1663 | pg_default
omm | 1663 | pg_default
musicdb | 16389 | music_tbs
template0 | 1663 | pg_default
musicdb1 | 16389 | music_tbs
musicdb2 | 16389 | music_tbs
musicdb3 | 16389 | music_tbs
postgres | 1663 | pg_default
(8 rows)
从文件系统,查看music_tbs表空间oid,可以看到一个表空间可以有多个数据库
omm@modb:~$ cd /var/lib/opengauss/data/pg_tblspc/
omm@modb:/var/lib/opengauss/data/pg_tblspc$ ls
16389
omm@modb:/var/lib/opengauss/data/pg_tblspc$ cd 16389
omm@modb:/var/lib/opengauss/data/pg_tblspc/16389$ ls
PG_9.2_201611171_gaussdb
omm@modb:/var/lib/opengauss/data/pg_tblspc/16389$ cd PG_9.2_201611171_gaussdb
omm@modb:/var/lib/opengauss/data/pg_tblspc/16389/PG_9.2_201611171_gaussdb$ ls
16390 16391 16392 16393 pgsql_tmp
omm@modb:/var/lib/opengauss/data/pg_tblspc/16389/PG_9.2_201611171_gaussdb$ cd PG_9.2_201611171_gaussdb
-bash: cd: PG_9.2_201611171_gaussdb: No such file or directory
omm@modb:/var/lib/opengauss/data/pg_tblspc/16389/PG_9.2_201611171_gaussdb$ cd 16390
omm@modb:/var/lib/opengauss/data/pg_tblspc/16389/PG_9.2_201611171_gaussdb/16390$ ls
13974 14035 14088_fsm 14131_vm 14169 14241_fsm 14309 14378 14437 14511
13974_fsm 14035_init 14088_vm 14133 14170 14241_vm 14310 14379 14438 14512
13974_vm 14036 14090 14134 14172 14243 14312 14380 14439 14513
13976 14036_init 14091 14135 14174 14244 14313 14381 14441 14513_fsm
13977 14037 14092 14135_fsm 14175 14244_fsm 14314 14383 14442 14513_vm
13978 14039 14093 14135_vm 14176 14244_vm 14316 14385 14443 14515
13980 14041 14095 14137 14177 14246 14318 14386 14444 14517
13985 14042 14097 14138 14178 14247 14319 14389 14446 14518
13985_fsm 14044 14098 14139 14178_fsm 14248 14323 14391 14447 14518_fsm
13985_vm 14046 14099 14139_fsm 14178_vm 14248_fsm 14323_fsm 14392 14448 14518_vm
13987 14047 14100 14139_vm 14180 14248_vm 14323_vm 14393 14450 14520
13987_fsm 14048 14101 14141 14182 14250 14325 14395 14451 14522
13987_vm 14049 14102 14142 14183 14251 14326 14396 14453 14523
13993 14055 14105 14145 14186 14254 14329 14400 14462 14527
13995 14057 14107 14146 14187 14255 14330 14401 14463 14528
13996 14059 14108 14147 14188 14256 14332 14402 14464 14528_fsm
13997 14060 14109 14148 14190 14256_fsm 14333 14404 14466 14528_vm
13999 14065 14110 14148_fsm 14191 14256_vm 14334 14405 14467 14530
13989 14050 14103 14143 14184 14252 14327 14397 14454 14523_fsm
13990 14052 14103_fsm 14143_fsm 14184_fsm 14252_fsm 14327_fsm 14398 14455 14523_vm
13991 14054 14103_vm 14143_vm 14184_vm 14252_vm 14327_vm 14399 14460 14525
14001 14067 14110_fsm 14148_vm 14192 14258 14336 14406 14480 14532
14002 14068 14110_vm 14150 14193 14259 14337 14408 14482 14533
14004 14068_fsm 14112 14151 14193_fsm 14260 14338 14409 14483 14533_fsm
14006 14068_vm 14114 14152 14193_vm 14262 14339 14411 14484 14533_vm
14007 14070 14115 14152_fsm 14195 14262_fsm 14341 14412 14486 14535
14014 14072_vm 14119 14156 14197_vm 14266 14346 14418 14491 14538_vm
14015 14074 14121 14158 14199 14266_fsm 14348 14419 14492 14540
14009 14071 14116 14152_vm 14196 14262_vm 14342 14414 14487 14537
14011 14072 14117 14154 14197 14264 14344 14415 14488 14538
14012 14072_fsm 14118 14155 14197_fsm 14265 14345 14416 14490 14538_fsm
14016 14074_fsm 14122 14159 14200 14266_vm 14349 14421 14494 14542
14018 14074_vm 14123 14159_fsm 14201 14268 14354 14423 14495 14543
14020 14076 14123_fsm 14159_vm 14202 14269 14356 14424 14496 14545
14021 14077 14123_vm 14161 14202_fsm 14270 14361 14425 14498 14547
14025 14079 14126 14163 14204 14274 14364 14428 14500 14550
14026 14080 14127 14163_fsm 14205 14275 14366 14429 14502 14552
14023 14078 14125 14162 14202_vm 14272 14363 14426 14499 14548
14031 14085 14129 14165_fsm 14237_vm 14303 14372 14432 14506 PG_VERSION
14031_init 14086 14130 14165_vm 14239 14305 14373 14433 14507 pg_filenode.map
14033 14087 14131 14167 14240 14307 14374 14434 14508 pg_filenode.map.backup
14033_init 14088 14131_fsm 14168 14241 14308 14376 14436 14509
14028 14081 14127_fsm 14163_vm 14237 14300 14367 14430 14503 14553
14030 14083 14127_vm 14165 14237_fsm 14302 14370 14431 14504 14554
omm@modb:/var/lib/opengauss/data/pg_tblspc/16389/PG_9.2_201611171_gaussdb/16390$
学习总结
今天主要是学习了解表空间与数据库对象的关系,了解oid的含义,一个表空间可以存在多个数据库,即多个数据库可以共用一个表空间,然后oid相当于数据库中一个唯一标识符,可以标识数据库对象的序号。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




