openGauss每日一练第4天 | openGauss中一个数据库可以被多个用户访问
openGauss中一个数据库可以被多个用户访问,一个用户可以访问多个数据库。
1、创建用户和用户对应的表空间,并给用户授权
root@modb:~# su - omm
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=# create tablespace music_tbs relative location 'tablespace/test_ts1';
omm=# CREATE TABLESPACE
创建数据库,并指定数据库表空间
omm=# create database musicdb2 with tablespace=music_tbs;
CREATE DATABASE
--创建用户user1、user2、user3
omm=# create user user1 identified by 'Kunpeng@1234';
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
omm=# create user user2 identified by 'Kunpeng@1234';
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
omm=# create user user3 identified by 'Kunpeng@1234';
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
--授权user1、user2、user3 用户sysadmin角色权限
omm=# alter user user1 sysadmin;
ALTER ROLE
omm=# alter user user2 sysadmin;
ALTER ROLE
omm=# alter user user3 sysadmin;
ALTER ROLE
2、使用user1、user2、user3分别创建各自的表
--切换使用user1登录musicdb2数据库,来创建表和插入数据
omm=# \c musicdb2 user1
Password for user user1:
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "musicdb2" as user "user1".
--查看当前数据库、当前用户、当前模式
musicdb2=> select current_database(),current_user,current_schema;
musicdb2=> current_database | current_user | current_schema
------------------+--------------+----------------
musicdb2 | user1 | public
(1 row)
musicdb2=> create table products1(product_id int,product_name char(20),category char(30));
CREATE TABLE
musicdb2=> insert into products1(product_id,product_name,category) values(1502,'olyera','electrncs'),(1601,'lamaze','toys'),(1700,'wait interface','Books'),(1666,'harr','toys');
INSERT 0 4
musicdb2=> select * from products1;
product_id | product_name | category
------------+----------------------+--------------------------------
1502 | olympus camera | electrncs
1601 | lamaze | toys
1700 | wait interface | Books
1666 | harry potter | toys
(4 rows)
--切换使用user2登录musicdb2数据库,来创建表和插入数据
omm=# \c - user2
musicdb2=> create table products2(product_id int,product_name char(20),category char(30));
CREATE TABLE
musicdb2=> insert into products2(product_id,product_name,category) values(1502,'olyera','electrncs'),(1601,'lamaze','toys'),(1700,'wait interface','Books'),(1666,'harr','toys');
INSERT 0 4
--切换使用user3登录musicdb2数据库,来创建表和插入数据
omm=# \c - user3
musicdb2=> create table products3(product_id int,product_name char(20),category char(30));
CREATE TABLE
musicdb2=> insert into products3(product_id,product_name,category) values(1502,'olyera','electrncs'),(1601,'lamaze','toys'),(1700,'wait interface','Books'),(1666,'harr','toys');
INSERT 0 4
3、使用user1、user2、user3其中一个登录数据库,查看数据库下有哪些表
--查看当前数据库、当前用户、当前模式
musicdb2=> select current_database(),current_user,current_schema;
current_database | current_user | current_schema
------------------+--------------+----------------
musicdb2 | user3 | public
(1 row)
--查看当前数据库下有哪些表,可以看到3个表,owner分别属于user1、user2、user3用户
musicdb2=> \dt
List of relations
Schema | Name | Type | Owner | Storage
--------+-----------+-------+-------+----------------------------------
public | products1 | table | user1 | {orientation=row,compression=no}
public | products2 | table | user2 | {orientation=row,compression=no}
public | products3 | table | user3 | {orientation=row,compression=no}
(3 rows)
musicdb2=>
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




