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

openGauss每日一练第5天 create role和create user 的区别

数据库环境

openGauss:2.0.0 - 数据库实训平台

学习笔记

第四课中创建角色中使用的是 create role。角色是用来管理权限的,从数据库安全的角度考虑,可以把所有的管理和操作权限划分到不同的角色上。

第五课中创建用户中使用的是 create user。用户是用来登录数据库的,通过对用户赋予不同的权限,可以方便地管理用户对数据库的访问及操作。

通过查阅帮助手册和博文,

得到:

CREATE USER 通过CREATE USER创建的用户,默认具有LOGIN权限。 通过CREATE USER创建用户的同时,系统会在执行该命令的数据库中,为该用户创建一个同名的SCHEMA。 系统管理员在普通用户同名schema下创建的对象,所有者为schema的同名用户(非系统管理员)。
CREATE ROLE 角色是拥有数据库对象和权限的实体。在不同的环境中角色可以认为是一个用户,一个组或者兼顾两者。 在数据库中添加一个新角色,角色无登录权限。 创建角色的用户必须具备CREATE ROLE的权限或者是系统管理员。

使用代码进行解释

omm=# create role role1 identified by 'role-pwd-demo1'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------------------------------------------------------------+----------- gaussdb | Sysadmin | {} omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} role1 | Cannot login | {} omm=# create user user1 identified by 'user-pwd-asd213'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------------------------------------------------------------+----------- gaussdb | Sysadmin | {} omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} role1 | Cannot login | {} user1 | | {} omm=# \dn+ List of schemas Name | Owner | Access privileges | Description -------------+-------+-------------------+---------------------------------- cstore | omm | | reserved schema for DELTA tables dbe_perf | omm | | dbe_perf schema pkg_service | omm | | pkg_service schema public | omm | omm=UC/omm +| standard public schema | | =U/omm | snapshot | omm | | snapshot schema tpcds | omm | | user1 | user1 | | (7 rows) omm=# SELECT * FROM pg_namespace; nspname | nspowner | nsptimeline | nspacl | in_redistribution --------------------+----------+-------------+---------------------+------------------- pg_toast | 10 | 0 | | n cstore | 10 | 0 | | n pkg_service | 10 | 0 | | n dbe_perf | 10 | 0 | | n snapshot | 10 | 0 | | n pg_catalog | 10 | 0 | {omm=UC/omm,=U/omm} | n public | 10 | 0 | {omm=UC/omm,=U/omm} | n information_schema | 10 | 0 | {omm=UC/omm,=U/omm} | n tpcds | 10 | 0 | | n user1 | 16400 | 0 | | n (10 rows)

后续

概念可以十分相近,但是在代码的实现上一定有不同之处,要多加留意。
通过阅读帮助手册能解开大多数的困惑,doc man help /? 要多看看。

在帮助手册方面,工作中会遇到以下几种情况,

  1. 只有纸质没有电子
  2. 有电子但不支持搜索
  3. 有web版的帮助手册,但是网站访问速度特别慢
  4. 过时的帮助手册
  5. 虽然有帮助手册,但是没有讲自己遇到的问题
  6. 没有帮助手册,只有同事之间的口头经验传递

所以说,平时要多做积累,调试排障的过程中,完备的图文记录是很重要的!

学习资源


欢迎各位同学一起来交流学习心得!

最后修改时间:2021-12-16 18:37:25
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论