暂无图片
介绍一下openGauss用户的创建、修改和删除?
我来答
分享
暂无图片 匿名用户
介绍一下openGauss用户的创建、修改和删除?

介绍一下openGauss用户的创建、修改和删除?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
M
mtl

用户

使用CREATE USER和ALTER USER可以创建和管理数据库用户。openGauss包含一个或多个已命名数据库。用户和角色在整个openGauss范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里声明的那个数据库。

三权分立下,openGauss用户帐户只能由系统管理员或拥有CREATEROLE属性的安全管理员创建和删除。三权分立时,用户帐户只能由初始用户和安全管理员创建。

在用户登录openGauss时会对其进行身份验证。用户可以拥有数据库和数据库对象(例如表),并且可以向用户和角色授予对这些对象的权限以控制谁可以访问哪个对象。除系统管理员外,具有CREATEDB属性的用户可以创建数据库并授予对这些数据库的权限。

创建、修改和删除用户

  • 要创建用户,请使用SQL语句CREATE USER

    例如:创建用户joe,并设置用户拥有CREATEDB属性。

    openGauss=# CREATE USER joe WITH CREATEDB PASSWORD "xxxxxxxxx";
    CREATE ROLE
    
    复制
  • 要创建系统管理员,请使用带有SYSADMIN选项的CREATE USER语句 。

  • 要删除现有用户,请使用DROP USER

  • 要更改用户帐户(例如,重命名用户或更改密码),请使用ALTER USER

  • 要查看用户列表,请查询视图PG_USER

    SELECT * FROM pg_user; 
    
    复制
  • 要查看用户属性,请查询系统表PG_AUTHID

    SELECT * FROM pg_authid; 
    
    复制

私有用户

对于有多个业务部门,各部门间使用不同的数据库用户进行业务操作,同时有一个同级的数据库维护部门使用数据库管理员进行维护操作的场景下,业务部门可能希望在未经授权的情况下,管理员用户只能对各部门的数据进行控制操作(DROP、ALTER、TRUNCATE),但是不能进行访问操作(INSERT、DELETE、UPDATE、SELECT、COPY)。即针对管理员用户,表对象的控制权和访问权要能够分离,提高普通用户数据安全性。

三权分立情况下,管理员对其他用户放在属于各自模式下的表无权限。但是,这种无权限包含了无控制权限,因此不能满足上面的诉求。为此,openGauss提供了私有用户方案。即在非三权分立模式下,创建具有INDEPENDENT属性的私有用户。

CREATE USER user_independent WITH INDEPENDENT IDENTIFIED BY "1234@abc";
复制

针对该用户的对象,系统管理员和拥有CREATEROLE属性的安全管理员在未经其授权前,只能进行控制操作(DROP、ALTER、TRUNCATE),无权进行INSERT、DELETE、SELECT、UPDATE、COPY、GRANT、REVOKE、ALTER OWNER操作。

永久用户

openGauss提供永久用户方案,即创建具有PERSISTENCE属性的永久用户。

CREATE USER user_persistence WITH persistence IDENTIFIED BY "1234@abc";
复制

只允许初始用户创建、修改和删除具有PERSISTENCE属性的永久用户。

暂无图片 评论
暂无图片 有用 0
打赏 0
tyxiaoleng
2021-12-05
兄台好狠 给个官网链接不就行了啊 一字不落的复制出来了
回答交流
Markdown


请输入正文
提交
相关推荐
openGauss能否兼容MySQL?
回答 2
openGauss兼容MySQL,包括在gsinitdb时候指定dbcompatibility参数来进行兼容,同时社区提供兼容插件供大家在迁移MySQL时候使用。
OpenGauss为什么不像Oracle那样搞成多进程呢?还是说本来就这样
回答 2
建议听听openguass的训练营的体系架构。
求一份组网图-openGauss?
回答 1
为了保证整个应用数据的安全性,建议将openGauss的典型组网划分为两个独立网络:前端业务网络和数据管理存储网络。类型描述数据库管理存储网DBA通过此网络调用OM脚本管理和维护openGauss实例
opengauss 怎么实现双主?
回答 6
已采纳
目前部署方案只有:单机部署、一主一备部署、一主多备部署,不支持双主部署
opengauss使用gs_dump远程备份报错
回答 5
这个问题可能是由于cron的环境变量和你的shell环境变量不同导致的。你可以尝试以下几种解决方法:1.  在你的crontab脚本中明确指定环境变量。例如,如果你的openssl
openGauss列存中,行存delta表转列存后,原行存中每条entry的可见性如何处理?
回答 5
已采纳
会以行存转列存这个事务的txn1的id作为生成的cudesc的事务id。delta表中对txn1可见的数据会出现在列存中,对txn1不可见的数据不会转到列存中。
opengauss + keepalived 主备切换后的问题
回答 2
改为非抢占模式,或者抢占模式
openGauss 数据库的核心技术主要有哪些方面?
回答 1
总结一些在实践中的技术应用,欢迎参考、补充:1、在CPU NUMA 多核的硬件发展趋势下,openGauss通过线程绑核,NUMA化数据结构改造,数据分区和原子指令优化实现150W
出现postgres$#是怎么回事?为什么接下来输入什么都没有反应了?该怎么退出这个?
回答 1
尝试\q或者ctrlz不行使用kill杀掉gsql进程
GaussDB修改名称报错
回答 1
已采纳
名称超出长度限制了吧,改短一点试试看。
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~