当前位置: 首页 > news >正文

中核工建设集团有限公司网站做网站空

中核工建设集团有限公司网站,做网站空,东莞网站建设音乐盒,移动端高端网站文章目录 openGauss学习笔记-47 openGauss 高级数据管理-权限47.1 语法格式47.2 参数说明47.3 示例 openGauss学习笔记-47 openGauss 高级数据管理-权限 数据库对象创建后#xff0c;进行对象创建的用户就是该对象的所有者。数据库安装后的默认情况下#xff0c;未开启三权分… 文章目录 openGauss学习笔记-47 openGauss 高级数据管理-权限47.1 语法格式47.2 参数说明47.3 示例 openGauss学习笔记-47 openGauss 高级数据管理-权限 数据库对象创建后进行对象创建的用户就是该对象的所有者。数据库安装后的默认情况下未开启三权分立数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后默认只有对象所有者或者系统管理员可以查询、修改和销毁对象以及通过GRANT将对象的权限授予其他用户。 为使其他用户能够使用对象必须向用户或包含该用户的角色授予必要的权限。 要撤销已经授予的权限可以使用REVOKE。对象所有者的权限例如ALTER、 DROP、COMMENT、INDEX、VACUUM、GRANT和REVOKE是隐式拥有的即只要拥有对象就可以执行对象所有者的这些隐式权限。对象所有者可以撤销自己的普通权限例如使表对自己以及其他人只读系统管理员用户除外。 openGauss支持以下的权限不同的权限与不同的对象类型关联 SELECT允许对指定的表、视图、序列执行SELECT命令UPDATE或DELETE时也需要对应字段上的SELECT权限。INSERT允许对指定的表执行INSERT命令。UPDATE允许对声明的表中任意字段执行UPDATE命令。通常UPDATE命令也需要SELECT权限来查询出哪些行需要更新。SELECT… FOR UPDATE、SELECT… FOR NO KEY UPDATE、SELECT… FOR SHARE和SELECT… FOR KEY SHARE除了需要SELECT权限外还需要UPDATE权限。DELETE允许执行DELETE命令删除指定表中的数据。通常DELETE命令也需要SELECT权限来查询出哪些行需要删除。TRUNCATE允许执行TRUNCATE命令删除指定表中的所有记录。REFERENCES创建一个外键约束必须拥有参考表和被参考表的REFERENCES权限。CREATE 对于数据库允许在数据库里创建新的模式。对于模式允许在模式中创建新的对象。如果要重命名一个对象用户除了必须是该对象的所有者外还必须拥有该对象所在模式的CREATE权限。对于表空间允许在表空间中创建表允许在创建数据库和模式的时候把该表空间指定为缺省表空间。 CONNECT允许用户连接到指定的数据库。EXECUTE允许使用指定的函数以及利用这些函数实现的操作符。USAGE 对于过程语言允许用户在创建函数的时候指定过程语言。对于模式USAGE允许访问包含在指定模式中的对象若没有该权限则只能看到这些对象的名称。对于序列USAGE允许使用nextval函数。对于Data Source对象USAGE是指访问权限也是可赋予的所有权限即USAGE与ALL PRIVILEGES等价。 ALTER允许用户修改指定对象的属性但不包括修改对象的所有者和修改对象所在的模式。DROP允许用户删除指定的对象。COMMENT允许用户定义或修改指定对象的注释。INDEX允许用户在指定表上创建索引并管理指定表上的索引还允许用户对指定表执行REINDEX和CLUSTER操作。VACUUM允许用户对指定的表执行ANALYZE和VACUUM操作。ALL PRIVILEGES一次性给指定用户/角色赋予所有可赋予的权限。只有系统管理员有权执行GRANT ALL PRIVILEGES。 47.1 语法格式 GRANT 对角色和用户进行授权操作。使用GRANT命令进行用户授权包括三种场景 将系统权限例如sysadmin、CREATEDB、CREATEROLE等授权给角色或用户 将sysadmin权限赋予指定的角色的语法如下。 GRANT ALL { PRIVILEGES | PRIVILEGE }TO role_name;将角色或用户的权限授权给其他角色或用户 将角色的权限赋予其他用户或角色的语法如下。 GRANT role_name [, ...]TO role_name [, ...][ WITH ADMIN OPTION ];将数据库对象授权给角色或用户 将表或视图的访问权限赋予指定的用户或角色。 GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | ALTER | DROP | COMMENT | INDEX | VACUUM } [, ...] | ALL [ PRIVILEGES ] }ON { [ TABLE ] table_name [, ...]| ALL TABLES IN SCHEMA schema_name [, ...] }TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ];将表中字段的访问权限赋予指定的用户或角色。 GRANT { {{ SELECT | INSERT | UPDATE | REFERENCES | COMMENT } ( column_name [, ...] )} [, ...] | ALL [ PRIVILEGES ] ( column_name [, ...] ) }ON [ TABLE ] table_name [, ...]TO { [ GROUP ] role_name | PUBLIC } [, ...][ WITH GRANT OPTION ];将数据库的访问权限赋予指定的用户或角色。 GRANT { { CREATE | CONNECT | TEMPORARY | TEMP | ALTER | DROP | COMMENT } [, ...]| ALL [ PRIVILEGES ] }ON DATABASE database_name [, ...]TO { [ GROUP ] role_name | PUBLIC } [, ...][ WITH GRANT OPTION ];将模式的访问权限赋予指定的用户或角色。 GRANT { { CREATE | USAGE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] }ON SCHEMA schema_name [, ...]TO { [ GROUP ] role_name | PUBLIC } [, ...][ WITH GRANT OPTION ];说明 将模式中的表或者视图对象授权给其他用户时需要将表或视图所属的模式的USAGE权限同时授予该用户若没有该权限则只能看到这些对象的名称并不能实际进行对象访问。 同名模式下创建表的权限无法通过此语法赋予可以通过将角色的权限赋予其他用户或角色的语法赋予同名模式下创建表的权限。 将表空间的访问权限赋予指定的用户或角色。 GRANT { { CREATE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] }ON TABLESPACE tablespace_name [, ...]TO { [ GROUP ] role_name | PUBLIC } [, ...][ WITH GRANT OPTION ];REVOKE 撤销角色或用户的系统权限例如sysadmin、CREATEDB、CREATEROLE等 回收角色上的sysadmin权限。 REVOKE ALL { PRIVILEGES | PRIVILEGE } FROM role_name;回收角色上的权限。 REVOKE [ ADMIN OPTION FOR ]role_name [, ...] FROM role_name [, ...][ CASCADE | RESTRICT ];回收数据库对象上的权限 回收指定表或视图上权限。 REVOKE [ GRANT OPTION FOR ]{ { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | ALTER | DROP | COMMENT | INDEX | VACUUM }[, ...] | ALL [ PRIVILEGES ] }ON { [ TABLE ] table_name [, ...]| ALL TABLES IN SCHEMA schema_name [, ...] }FROM { [ GROUP ] role_name | PUBLIC } [, ...][ CASCADE | RESTRICT ];回收表上指定字段权限。 REVOKE [ GRANT OPTION FOR ]{ {{ SELECT | INSERT | UPDATE | REFERENCES | COMMENT } ( column_name [, ...] )}[, ...] | ALL [ PRIVILEGES ] ( column_name [, ...] ) }ON [ TABLE ] table_name [, ...]FROM { [ GROUP ] role_name | PUBLIC } [, ...][ CASCADE | RESTRICT ];回收指定数据库上权限。 REVOKE [ GRANT OPTION FOR ]{ { CREATE | CONNECT | TEMPORARY | TEMP | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] }ON DATABASE database_name [, ...]FROM { [ GROUP ] role_name | PUBLIC } [, ...][ CASCADE | RESTRICT ];回收指定模式上权限。 REVOKE [ GRANT OPTION FOR ]{ { CREATE | USAGE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] }ON SCHEMA schema_name [, ...]FROM { [ GROUP ] role_name | PUBLIC } [, ...][ CASCADE | RESTRICT ];回收指定表空间上权限。 REVOKE [ GRANT OPTION FOR ]{ { CREATE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] }ON TABLESPACE tablespace_name [, ...]FROM { [ GROUP ] role_name | PUBLIC } [, ...][ CASCADE | RESTRICT ];47.2 参数说明 role_name 已存在用户名称。 table_name 已存在表名称。 column_name 已存在字段名称。 schema_name 已存在模式名称。 database_name 已存在数据库名称。 tablespace_name 表空间名称。 WITH GRANT OPTION 如果声明了WITH GRANT OPTION则被授权的用户也可以将此权限赋予他人否则就不能授权给他人。这个选项不能赋予PUBLIC。 47.3 示例 将系统权限授权给用户或者角色。 创建名为joe的用户并将sysadmin权限授权给他。 openGauss# CREATE USER joe PASSWORD xxxxxxxx; CREATE ROLE openGauss# GRANT ALL PRIVILEGES TO joe; ALTER ROLE授权成功后用户joe会拥有sysadmin的所有权限。 将对象权限授权给用户或者角色。 创建模式test以及表customer。 openGauss# CREATE SCHEMA test; CREATE SCHEMAopenGauss# CREATE TABLE customer (c_customer_sk integer,c_customer_id char(5),c_first_name char(6),c_last_name char(8),Amount integer ); CREATE TABLE撤销joe用户的sysadmin权限然后将模式test的使用权限和表customer的所有权限授权给用户joe。 openGauss# REVOKE ALL PRIVILEGES FROM joe; ALTER ROLE openGauss# GRANT USAGE ON SCHEMA test TO joe; GRANT openGauss# GRANT ALL PRIVILEGES ON customer TO joe; GRANT授权成功后joe用户就拥有了customer表的所有权限包括增删改查等权限。 将表customer中c_customer_sk、c_customer_id、c_first_name列的查询权限c_last_name的更新权限授权给joe。 openGauss# GRANT select (c_customer_sk,c_customer_id,c_first_name),update (c_last_name) ON customer TO joe; GRANT授权成功后用户joe对表customer中c_customer_sk,c_customer_id,c_first_name的查询权限会立即生效。如果joe用户需要拥有将这些权限授权给其他用户的权限可以通过以下语法对joe用户进行授权。 openGauss# GRANT select (c_customer_sk,c_customer_id,c_first_name) ON customer TO joe WITH GRANT OPTION; GRANT将数据库postgres的连接权限授权给用户joe并给予其在postgres中创建schema的权限而且允许joe将此权限授权给其他用户。 openGauss# GRANT create,connect on database postgres TO joe WITH GRANT OPTION; GRANT创建角色test_manager将模式test的访问权限授权给角色test_manager并授予该角色在test下创建对象的权限不允许该角色中的用户将权限授权给其他人。 openGauss# CREATE ROLE test_manager PASSWORD xxxxxxxx; CREATE ROLE openGauss# GRANT USAGE,CREATE ON SCHEMA test TO test_manager; GRANT创建表空间tpcds_tbspc并将表空间的所有权限授权给用户joe但用户joe无法将权限继续授予其他用户。 openGauss# CREATE TABLESPACE tpcds_tbspc RELATIVE LOCATION tablespace/tablespace_1; CREATE TABLESPACE openGauss# GRANT ALL ON TABLESPACE tpcds_tbspc TO joe; GRANT将用户或者角色的权限授权给其他用户或角色。 创建角色manager将joe的权限授权给manager并允许该角色将权限授权给其他人。 openGauss# CREATE ROLE manager PASSWORD xxxxxxxx; CREATE ROLE openGauss# GRANT joe TO manager WITH ADMIN OPTION; GRANT ROLE创建用户senior_manager将用户manager的权限授权给该用户。 openGauss# CREATE ROLE senior_manager PASSWORD xxxxxxxx; CREATE ROLE openGauss# GRANT manager TO senior_manager; GRANT ROLE点赞你的认可是我创作的动力 ⭐️ 收藏你的青睐是我努力的方向 ✏️ 评论你的意见是我进步的财富
http://www.dnsts.com.cn/news/74944.html

相关文章:

  • 小店怎么做网站科技公司取名大全
  • 北京做网站建设的公司个人可以备案网站的内容
  • 阿里云网站建设方案书是什么苏州公司建站
  • 东阿做网站建一个网站要多少钱
  • 网站500m空间价格婴幼儿网站模板
  • 南浔哪有做网站的怎么做好网络推广销售
  • 西安专业房产网站建设李沧做网站
  • 网站建设与维护方式大专ui设计师工资一般多少
  • 广州哪里有做网站推广企业管理系统的构成状况
  • 深圳网站设计服务找哪家邯郸服务
  • pc端网站建设联系方式私募基金公司网站建设
  • 重庆建站公司哪个好丹东黄页网
  • 甘肃省建设类证书查询网站株洲建设局网站
  • 建站公司 网络服务松原建设局网站
  • 福建住房与城乡建设部网站宝安-网站建设信科网络
  • 互联网站点全网营销新胜天下
  • 重庆企业建站模板帮小公司代账一个月费用
  • 网站数据库设计模板北京广告设计制作公司
  • 网站被黑了多久恢复wordpress js调用新闻
  • 郑州大学网页设计与网站建设wordpress tag列表页面
  • 企业自助建站网如何夸奖一个网站做的好
  • 网站建设it柳州最强的网站建设
  • 莆田网站 建设建站之星如何建网站
  • 校园网站建设报告浏览器网页版打开网页
  • 桌面软件开发跟网站开发那个免费手机网站模板下载
  • 做网站要用到什么软件做网站需要交接什么
  • 适合网站开发的框架建筑方案设计收费标准
  • 北京地区网站制作公司上海大规模网站建设平台
  • 有什么网站可以在线做试题淘宝作图在哪个网站上做图
  • 做动画片的网站西安网站建设服务商