学习目标
学习 openGauss 体系结构,使用一个用户访问多个数据库。
课程学习
数据库用户 user1 可以访问不同的数据库(testdb1、testdb2、testdb3)。
实验中 user1 用户在数据库 testdb1 中创建了表 t11、在数据库 testdb2 创建了表 t21、在数据库 testdb3 中创建了表 t31,验证了这个结论。
1.测试环境准备:
su - omm
gsql -r
\set PROMPT1 '%n@%m %~%R%#'
--进入数据库omm,创建表空间、测试数据库
drop DATABASE IF EXISTS testdb;
drop DATABASE IF EXISTS testdb1;
drop DATABASE IF EXISTS testdb2;
drop DATABASE IF EXISTS testdb3;
drop tablespace IF EXISTS test_tbs;
CREATE TABLESPACE test_tbs RELATIVE LOCATION 'tablespace/test_ts1';
CREATE DATABASE testdb1 WITH TABLESPACE = test_tbs;
CREATE DATABASE testdb2 WITH TABLESPACE = test_tbs;
CREATE DATABASE testdb3 WITH TABLESPACE = test_tbs;
--执行下面的SQL语句,创建用户user1:
CREATE user user1 IDENTIFIED BY 'Opengauss_1234';
--授予user1数据库系统的SYSADMIN权限:
ALTER user user1 SYSADMIN;
2、使用数据库用户 user1 登录到数据库 testdb1,创建一个表 t11,并插入一条数据:
--用户 user1 登录到数据库 testdb1,创建表 t11,并插入、查看数据
\c testdb1 user1
create table t11(col1 char(20));
insert into t11 values('Hello openGauss! 11');
select * from t11;
3.使用数据库用户 user1 登录到数据库 testdb2,创建一个表 t21,并插入一条数据:
--用户 user1 登录到数据库 testdb2,创建表 t21,并插入、查看数据
\c testdb2 user1
create table t21(col1 char(20));
insert into t21 values('Hello openGauss! 22');
select * from t21;
4.使用数据库用户 user1 登录到数据库 testdb3,创建一个表 t31,并插入一条数据:
--用户 user1 登录到数据库 testdb3,创建表 t31,并插入、查看数据
\c testdb3 user1
create table t31(col1 char(20));
insert into t31 values('Hello openGauss! 33');
select * from t31;
课程作业
1.创建数据库 testdb,创建用户 user01,赋予 sysadmin 权限
create tablespace testdb_tbs relative location 'tablespace/testdb_tbs';
create database testdb with tablespace = testdb_tbs;
create user user01 identified by 'Opengauss_1234';
alter user user01 sysadmin;
2.用户 user01 访问数据库 postgres,创建一个表并插入数据
\c postgres user01
create table t11(id int);
insert into t11 values(11);
select * from t11;
3.用户 user01 访问数据库 omm,创建一个表并插入数据
\c omm user01
create table t22(id int);
insert into t22 values(11);
select * from t22;
4.用户 user01 访问数据库 testdb,创建一个表并插入数据
\c testdb user01
create table t33(id int);
insert into t33 values(11);
select * from t33;