学习目标
学习openGauss体系结构,使用一个用户访问多个数据库。
课程学习
数据库用户user1可以访问不同的数据库(musicdb1、musicdb2、musicdb3)。
实验中user1用户在数据库musicdb1中创建了表t11、在数据库musicdb2创建了表t21、在数据库musicdb3中创建了表t31,验证了这个结论。
课程作业
1.创建数据库musicdb10,创建用户user10,赋予sysadmin权限
--创建数据库musicdb10(包括创建表空间)
/*
DROP DATABASE IF EXISTS musicdb10;
DROP TABLESPACE IF EXISTS musicdb10_tbs;
CREATE TABLESPACE musicdb10_tbs RELATIVE LOCATION 'tablespace/test_ts10';
CREATE DATABASE musicdb10 WITH TABLESPACE = musicdb10_tbs;
*/
!> \c omm
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "omm" as user "omm" via socket in "/tmp" at port "5432".
omm=# DROP DATABASE IF EXISTS musicdb10;
NOTICE: database "musicdb10" does not exist, skipping
DROP DATABASE
omm=# DROP TABLESPACE IF EXISTS musicdb10_tbs;
NOTICE: Tablespace "musicdb10_tbs" does not exist, skipping.
omm=# DROP TABLESPACE
CREATE TABLESPACE musicdb10_tbs RELATIVE LOCATION 'tablespace/test_ts10';
CREATE TABLESPACE
omm=# CREATE DATABASE musicdb10 WITH TABLESPACE = musicdb10_tbs;
CREATE DATABASE
--查看musicdb10信息
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 |
musicdb10 | omm | UTF8 | C | C |
musicdb2 | omm | UTF8 | C | C |
musicdb3 | 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
(12 rows)
--创建用户user1:
omm=# DROP user IF EXISTS user10;
NOTICE: role "user10" does not exist, skipping
DROP ROLE
omm=# CREATE USER user10 IDENTIFIED BY 'meiriyilian@1234';
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
omm=#
--授予user10数据库系统的SYSADMIN权限:
omm=# ALTER USER user10 SYSADMIN;
ALTER ROLE
--查看user10信息
omm=# \du+
omm=# List of roles
Role name | Attributes
| Member of | Description
-----------+------------------------------------------------------------------------------------------------------------
user10 | Sysadmin
| {} |
------+-----------+-------------
gaussdb | Sysadmin
| {} |
omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin
2.用户user10访问数据库postgres,创建一个表并插入数据
--用户user10登录到数据库postgres,创建表test05,并插入、查看数据
/*
\c postgres user10
create table test05(id integer, comm char(20));
insert into test05 values(1, 'Hello world!');
select * from test05 ;
*/
openGauss=> \c postgres user10
Password for user user10:
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "postgres" as user "user10".
openGauss=> create table test05(id integer, comm char(20));
CREATE TABLE
openGauss=> insert into test05 values(1, 'Hello world!');
INSERT 0 1
openGauss=> select * from test05 ;
openGauss=> id | comm
----+----------------------
1 | Hello world!
(1 row)
3.用户user10访问数据库omm,创建一个表并插入数据
--用户user10登录到数据库omm,创建表test05,并插入、查看数据
/*
\c omm user10
create table test05(id integer, comm char(20));
insert into test05 values(1, 'Hello world!');
select * from test05 ;
*/
openGauss=> \c omm user10
Password for user user10:
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "omm" as user "user10".
omm=> create table test05(id integer, comm char(20));
CREATE TABLE
omm=> insert into test05 values(1, 'Hello world!');
INSERT 0 1
omm=> select * from test05 ;
id | comm
----+----------------------
1 | Hello world!
(1 row)
4.用户user10访问数据库musicdb10,创建一个表并插入数据
--用户user10登录到数据库musicdb10,创建表test05,并插入、查看数据
/*
\c musicdb10 user10
create table test05(id integer, comm char(20));
insert into test05 values(1, 'Hello world!');
select * from test05 ;
*/
omm=> \c musicdb10 user10
Password for user user10:
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "musicdb10" as user "user10".
musicdb10=>
musicdb10=> create table test05(id integer, comm char(20));
CREATE TABLE
musicdb10=> insert into test05 values(1, 'Hello world!');
INSERT 0 1
musicdb10=> select * from test05 ;
id | comm
----+----------------------
1 | Hello world!
(1 row)
select * from musicdb10.public.test05;
select * from omm.public.test05;
select * from postgres.public.test05;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




