学习目标
学习openGauss体系结构,了解实例(集簇或服务)和数据库的关系。
课程学习
在一个openGauss DBMS上,一个数据库集簇(Database Cluster)中,可以创建、管理多个数据库。
连接数据库
#第一次进入等待15秒 #数据库启动中... su - omm gsql -r
omm@modb:~$ gsql -r gsql ((openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:00 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. omm=#

1. 创建表空间,并在该表空间上创建多个数据库
–进入数据库 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

2. 执行 \db 命令,查看 openGauss 数据库上有哪些表空间
\db
omm=# \db omm=# List of tablespaces Name | Owner | Location ------------+-------+--------------------- music_tbs | omm | tablespace/test_ts1 pg_default | omm | pg_global | omm | (3 rows)

3. 执行 \l 命令,查看 openGauss 实例中有哪些数据库
--\l命令,元命令\l的作用是显示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 | omm | omm | UTF8 | C | C | postgres | omm | UTF8 | C | C | template0 | omm | UTF8 | C | C | =c/omm + omm=# | | | | | omm=CTc/omm template1 | omm | UTF8 | C | C | =c/omm + | | | | | omm=CTc/omm (7 rows)

4. 查看 openGauss 数据库上实例的进程、线程
--查看实例中的进程 \! ps -ef|grep gaussdb --查看实例中的线程 \! ps -Tp 1
omm=# \! ps -ef|grep gaussdb omm 1 0 0 20:50 ? 00:00:02 gaussdb omm 416 378 0 20:57 pts/0 00:00:00 sh -c ps -ef|grep gaussdb omm 418 416 0 20:57 pts/0 00:00:00 grep gaussdb 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 357 ? 00:00:00 WALwriteraux 1 356 ? 00:00:00 WALwriter 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:00 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 379 ? 00:00:00 worker 1 373 ? 00:00:00 undorecycler omm=#

课程作业
1. 创建表空间 music_tbs1 和多个数据库 music_db 、 music_db1 、 music_db2
CREATE TABLESPACE music_tbs1 RELATIVE LOCATION 'tablespace/test_ts2'; CREATE DATABASE music_db WITH TABLESPACE = music_tbs1; CREATE DATABASE music_db1 WITH TABLESPACE = music_tbs1; CREATE DATABASE music_db2 WITH TABLESPACE = music_tbs1;
omm=# CREATE TABLESPACE music_tbs1 RELATIVE LOCATION 'tablespace/test_ts2'; CREATE TABLESPACE omm=# CREATE DATABASE music_db WITH TABLESPACE = music_tbs1; CREATE DATABASE omm=# CREATE DATABASE music_db1 WITH TABLESPACE = music_tbs1; CREATE DATABASE omm=# CREATE DATABASE music_db2 WITH TABLESPACE = music_tbs1; CREATE DATABASE

2. 查看数据库上的表空间
omm=# \db List of tablespaces Name | Owner | Location ------------+-------+--------------------- music_tbs | omm | tablespace/test_ts1 music_tbs1 | omm | tablespace/test_ts2 pg_default | omm | pg_global | omm | (4 rows) omm=#

3. 查看 openGauss 实例上有哪些数据库
omm=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+-------+----------+---------+-------+------------------- music_db | omm | UTF8 | C | C | music_db1 | omm | UTF8 | C | C | music_db2 | omm | UTF8 | C | C | musicdb | omm | UTF8 | C | C | musicdb1 | omm | UTF8 | C | C | musicdb2 | omm | UTF8 | C | C | omm | omm | UTF8 | C | C | postgres | omm | UTF8 | C | C | template0 | omm | UTF8 | C | C | =c/omm + | | | | | omm=CTc/omm template1 | omm | UTF8 | C | C | =c/omm + | | | | | omm=CTc/omm (10 rows) omm=#

4. 使用操作系统命令,查看openGauss实例的进程、线程
omm=# \! ps -ef|grep gaussdb omm 1 0 0 20:50 ? 00:00:04 gaussdb omm 476 378 0 21:03 pts/0 00:00:00 sh -c ps -ef|grep gaussdb omm 478 476 0 21:03 pts/0 00:00:00 grep gaussdb omm=# 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 301 ? 00:00:00 jemalloc_bg_thd 1 300 ? 00:00:00 syslogger 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 351 ? 00:00:00 pagewriter 1 350 ? 00:00:00 Spbgwriter 1 352 ? 00:00:00 pagewriter 1 353 ? 00:00:00 pagewriter 1 355 ? 00:00:00 pagewriter 1 354 ? 00:00:00 pagewriter 1 356 ? 00:00:00 WALwriter 1 357 ? 00:00:00 WALwriteraux 1 358 ? 00:00:00 AVClauncher 1 360 ? 00:00:00 asyncundolaunch 1 359 ? 00:00:00 Jobscheduler 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 379 ? 00:00:00 worker omm=#






