暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss每日一练第4天 | openGauss中一个数据库可以被多个用户访问

原创 qabel12 2022-11-27
239

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论