学习目标
学习openGauss体系结构,了解实例(集簇或服务)和数据库的关系
课程学习
在一个openGauss DBMS上,一个数据库集簇(Database Cluster)中,可以创建、管理多个数据库。
课程作业
连接数据库
#第一次进入等待15秒
#数据库启动中…
su - omm
gsql -r
1.创建表空间music_tbs1和多个数据库music_db、music_db1、music_db2
–进入数据库omm,创建表空间、测试数据库
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;
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
omm=#
表空间分为系统表空间和用户自定义表空间,系统表空间有两个:pg_default和pg_global。pg_default的文件存放在 PGDATA/base/ 目录下。pg_global的文件存放在 PGDATA/global 目录下。用户自定义表空间在PGDATA/pg_tblspc存在一个软连接,指向实际的存放目录,软连接以表空间的oid命名。
所以新建表空间music_tbs的实际路径在哪里呢??
在$PGDATA/pg_tblspc/下
omm=# \db
List of tablespaces
Name | Owner | Location
------------+-------+---------------------
music_tbs | omm | tablespace/test_ts1
pg_default | omm |
pg_global | omm |
(3 rows)
omm@modb:/var/lib/opengauss/data/pg_tblspc$ ls -l
total 0
lrwxrwxrwx 1 omm omm 55 Nov 27 12:06 16389 -> /var/lib/opengauss/data/pg_location/tablespace/test_ts1
2.查看数据库上的表空间
\db
omm=# \db
List of tablespaces
Name | Owner | Location
------------+-------+---------------------
music_tbs | omm | tablespace/test_ts1
pg_default | omm |
pg_global | omm |
(3 rows)
3.查看openGauss实例上有哪些数据库
\l
omm=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+-------+----------+---------+-------+-------------------
musicdb | omm | UTF8 | C | C |
musicdb1 | omm | UTF8 | C | C |
musicdb2 | omm | UTF8 | C | C |
musicdb3 | omm | UTF8 | C | C |
omm | omm | UTF8 | C | C |
template1 | omm | UTF8 | C | C | =c/omm +
| | | | | omm=CTc/omm
postgres | omm | UTF8 | C | C |
template0 | omm | UTF8 | C | C | =c/omm +
| | | | | omm=CTc/omm
(8 rows)
omm=#
4.使用操作系统命令,查看openGauss实例的进程、线程
–查看实例中的进程
! ps -ef|grep gaussdb
–查看实例中的线程
! ps -Tp 1
omm=# \! ps -ef|grep gaussdb
omm 1 0 0 16:57 ? 00:00:03 gaussdb
omm 444 425 0 17:08 pts/0 00:00:00 sh -c ps -ef|grep gaussdb
omm 446 444 0 17:08 pts/0 00:00:00 grep gaussdb
omm=# \!ps -Tp 1
Invalid command \!ps. Try \? for help.
omm=# \! ps -Tp 1
PID SPID TTY TIME CMD
1 1 ? 00:00:00 gaussdb
1 293 ? 00:00:00 jemalloc_bg_thd
1 299 ? 00:00:00 gaussdb
1 300 ? 00:00:00 syslogger
1 301 ? 00:00:00 jemalloc_bg_thd
1 302 ? 00:00:00 alarm
1 303 ? 00:00:00 reaper
1 304 ? 00:00:00 jemalloc_bg_thd
1 305 ? 00:00:00 jemalloc_bg_thd
1 349 ? 00:00:00 checkpointer
1 350 ? 00:00:00 Spbgwriter
1 351 ? 00:00:00 pagewriter
1 352 ? 00:00:00 pagewriter
1 353 ? 00:00:00 pagewriter
1 354 ? 00:00:00 pagewriter
1 355 ? 00:00:00 pagewriter
1 356 ? 00:00:00 WALwriter
1 357 ? 00:00:00 WALwriteraux
1 358 ? 00:00:00 AVClauncher
1 359 ? 00:00:00 Jobscheduler
1 360 ? 00:00:00 asyncundolaunch
1 361 ? 00:00:00 globalstats
1 362 ? 00:00:00 applylauncher
1 363 ? 00:00:00 statscollector
1 364 ? 00:00:00 percentworker
1 365 ? 00:00:01 ashworker
1 366 ? 00:00:00 TrackStmtWorker
1 367 ? 00:00:00 auditor
1 368 ? 00:00:00 2pccleaner
1 369 ? 00:00:00 faultmonitor
1 370 ? 00:00:00 WLMworker
1 371 ? 00:00:00 WLMmonitor
1 372 ? 00:00:00 WLMarbiter
1 373 ? 00:00:00 undorecycler
1 426 ? 00:00:00 worker
总结:
\! +操作系统命令,可以在数据库中使用。




