学习openGauss体系结构,使用多个用户访问同一个数据库
openGauss中一个数据库可以被多个用户访问
关于用户:使用CREATE USER和ALTER USER可以创建和管理数据库用户。openGauss包含一个或多个已命名数据库。
用户和角色在整个openGauss范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里声明的那个数据库。
先创建测试数据库:
CREATE TABLESPACE music_tbs2 RELATIVE LOCATION 'tablespace/test_ts2';
CREATE DATABASE musicdb2 WITH TABLESPACE = music_tbs2;
1.创建用户user1、user2、user3,授予user1、user2、user3数据库系统的SYSADMIN权限
##新建user1、user2、user33个用户
CREATE USER user1 IDENTIFIED BY 'PassWord@1234';
CREATE USER user2 IDENTIFIED BY 'PassWord@1234';
CREATE USER user3 IDENTIFIED BY 'PassWord@1234';
##授予user1、user2、user3数据库系统的SYSADMIN权限:
ALTER USER user1 SYSADMIN;
ALTER USER user2 SYSADMIN;
ALTER USER user3 SYSADMIN;
\du
2.分别使用user1、user2、user3访问数据库musicdb2,创建各自的表,并插入数据。表名和数据如下:
表名分别为: products1、 products2、 products3
字段名 数据类型 含义
product_id INTEGER 产品编号
product_name Char(20) 产品名
category Char(30) 种类
向表中插入数据:
product_id product_name category
1502 olympus camera electrncs
1601 lamaze toys
1700 wait interface Books
1666 harry potter toys
用户1:
\c musicdb2 user1
CREATE TABLE products1
( product_id integer,
product_name char(30),
category char(20)
);
INSERT INTO products1 (product_id, product_name,category) VALUES
(1502,'olympus camera', 'electrncs'),
(1601,'lamaze','toys'),
(1700,'wait interface', 'Books'),
(1666,'harry potter', 'toys');
select * from products1;
用户2:
用户3:
3.使用user1、user2、user3用户中的任何一个,查看当前数据库musicdb2有哪些表
可以看到openGauss中一个数据库可以被多个用户访问。




