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

华为openGauss ALTER-DEFAULT-PRIVILEGES

华为高斯 2020-06-01
1078

功能描述

设置应用于将来创建的对象的权限(这不会影响分配到已有对象中的权限)。

注意事项

目前只支持表(包括视图)、 函数和类型(包括域)的权限更改。

语法格式

ALTER DEFAULT PRIVILEGES [ FOR { ROLE | USER } target_role [, ...] ] [ IN SCHEMA schema_name [, ...] ] abbreviated_grant_or_revoke;

  • 其中abbreviated_grant_or_revoke子句用于指定对哪些对象进行授权或回收权限。

    grant_on_tables_clause | grant_on_functions_clause | grant_on_types_clause | revoke_on_tables_clause | revoke_on_functions_clause | revoke_on_types_clause

  • 其中grant_on_tables_clause子句用于对表授权。

    GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES } [, ...] | ALL [ PRIVILEGES ] } ON TABLES TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

  • 其中grant_on_functions_clause子句用于对函数授权。

    GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTIONS TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

  • 其中grant_on_types_clause子句用于对类型授权。

    GRANT { USAGE | ALL [ PRIVILEGES ] } ON TYPES TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

  • 其中revoke_on_tables_clause子句用于回收表对象的权限。

    REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES } [, ...] | ALL [ PRIVILEGES ] } ON TABLES FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT | CASCADE CONSTRAINTS ]

  • 其中revoke_on_functions_clause子句用于回收函数的权限。

    REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTIONS FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT | CASCADE CONSTRAINTS ]

  • 其中revoke_on_types_clause子句用于回收类型的权限。

    REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON TYPES FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT | CASCADE CONSTRAINTS ]

参数说明

  • target_role

    已有角色的名称。如果省略FOR ROLE/USER,则缺省值为当前角色/用户。

    取值范围:已有角色的名称。

  • schema_name

    现有模式的名称。

    target_role必须有schema_name的CREATE权限。

    取值范围:现有模式的名称。

  • role_name

    被授予或者取消权限角色的名称。

    取值范围:已存在的角色名称。

须知:
如果想删除一个被赋予了默认权限的角色,有必要恢复改变的缺省权限或者使用DROP OWNED BY来为角色脱离缺省的权限记录。

示例

``` --将创建在模式tpcds里的所有表(和视图)的SELECT权限授予每一个用户。 postgres=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds GRANT SELECT ON TABLES TO PUBLIC;

--创建用户普通用户jack。 postgres=# CREATE USER jack PASSWORD 'Bigdata@123';

--将tpcds下的所有表的插入权限授予用户jack。 postgres=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds GRANT INSERT ON TABLES TO jack;

--撤销上述权限。 postgres=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds REVOKE SELECT ON TABLES FROM PUBLIC; postgres=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds REVOKE INSERT ON TABLES FROM jack;

--删除用户jack。 postgres=# DROP USER jack; ```

相关链接

GRANTREVOKE

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

评论

文集目录
暂无数据