diff --git a/content/en/docs/Developerguide/default-permission-mechanism.md b/content/en/docs/Developerguide/default-permission-mechanism.md index f581e7c44233bf6b957187b4fdc33147f6bbb5ae..b0204d54ee35f8673196452ed6383836fa33634c 100644 --- a/content/en/docs/Developerguide/default-permission-mechanism.md +++ b/content/en/docs/Developerguide/default-permission-mechanism.md @@ -4,9 +4,9 @@ A user who creates an object is the owner of this object. By default, [Separati To enable another user to use the object, grant required permissions to the user or the role that contains the user. -openGauss supports the following permissions: **SELECT**, **INSERT**, **UPDATE**, **DELETE**, **TRUNCATE**, **REFERENCES**, **CREATE**, **CONNECT**, **EXECUTE**, and **USAGE**. Permission types are associated with object types. For permission details, see [GRANT](grant.md). +openGauss supports the following permissions: **SELECT**, **INSERT**, **UPDATE**, **DELETE**, **TRUNCATE**, **REFERENCES**, **CREATE**, **CONNECT**, **EXECUTE**, **ALTER**, **DROP**, **COMMENT**, **INDEX**, **VACUUM** and **USAGE**. Permission types are associated with object types. For permission details, see [GRANT](grant.md). -To remove permissions, run **[REVOKE](revoke.md)**. Object owner permissions such as **ALTER**, **DROP**, **GRANT**, and **REVOKE** are implicit and cannot be granted or revoked. That is, you have the implicit permissions for an object if you are the owner of the object. Object owners can remove their own common permissions, for example, making tables read-only to themselves or others,Except system administrators. +To remove permissions, run **[REVOKE](revoke.md)**. Object owner permissions such as **ALTER**, **DROP**, **COMMENT**, **INDEX**, **VACUUM**, **GRANT**, and **REVOKE** are implicit and cannot be granted or revoked. That is, you have the implicit permissions for an object if you are the owner of the object. Object owners can remove their own common permissions, for example, making tables read-only to themselves or others,Except system administrators. System catalogs and views are visible to either system administrators or all users. System catalogs and views that require system administrator permissions can be queried only by system administrators. For details, see [System Catalogs and System Views](system-catalogs-and-system-views.md). diff --git a/content/en/docs/Developerguide/desktop.ini b/content/en/docs/Developerguide/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..be9ad94f5c70b1c14d75ed14b62294579a2e0251 --- /dev/null +++ b/content/en/docs/Developerguide/desktop.ini @@ -0,0 +1,2 @@ +[LocalizedFileNames] +default-permission-mechanism.md=@default-permission-mechanism,0 diff --git a/content/zh/docs/Developerguide/ALTER-DEFAULT-PRIVILEGES.md b/content/zh/docs/Developerguide/ALTER-DEFAULT-PRIVILEGES.md index 75fafeb81e4635aa1c698117275ba3ea50b6a836..0f7e9345e86e10e6d1b8c5d8ff39a5111301926f 100644 --- a/content/zh/docs/Developerguide/ALTER-DEFAULT-PRIVILEGES.md +++ b/content/zh/docs/Developerguide/ALTER-DEFAULT-PRIVILEGES.md @@ -21,8 +21,10 @@ ALTER DEFAULT PRIVILEGES ``` grant_on_tables_clause + | grant_on_sequences_clause | grant_on_functions_clause | grant_on_types_clause + | revoke_on_sequences_clause | revoke_on_tables_clause | revoke_on_functions_clause | revoke_on_types_clause diff --git a/content/zh/docs/Developerguide/ALTER-TABLE.md b/content/zh/docs/Developerguide/ALTER-TABLE.md index 6dd2662cf8867731fe3b57026fcebeab41afb8e6..a257243a1a366c76df56fc7890b498573542ac69 100644 --- a/content/zh/docs/Developerguide/ALTER-TABLE.md +++ b/content/zh/docs/Developerguide/ALTER-TABLE.md @@ -174,15 +174,15 @@ - 其中根据已有唯一索引为表增加主键约束或唯一约束table\_constraint\_using\_index为: - + ``` [ CONSTRAINT constraint_name ] { UNIQUE | PRIMARY KEY } USING INDEX index_name [ DEFERRABLE | NOT DEFERRABLE | INITIALLY DEFERRED | INITIALLY IMMEDIATE ] ``` - + - 其中表约束table\_constraint为: - + ``` [ CONSTRAINT constraint_name ] { CHECK ( expression ) | @@ -191,9 +191,9 @@ PARTIAL CLUSTER KEY ( column_name [, ... ] } [ DEFERRABLE | NOT DEFERRABLE | INITIALLY DEFERRED | INITIALLY IMMEDIATE ] ``` - + 其中索引参数index\_parameters为: - + ``` [ WITH ( {storage_parameter = value} [, ... ] ) ] [ USING INDEX TABLESPACE tablespace_name ] @@ -297,7 +297,7 @@ - **collation** - 字段排序规则名称。可选字段COLLATE指定了新字段的排序规则,如果省略,排序规则为新字段的默认类型。排序规则可以使用“select \* from pg\_collation”命令从pg\_collation系统表中查询,默认的排序规则为查询结果中以default开始的行。 + 字段排序规则名称。可选字段COLLATE指定了新字段的排序规则,如果省略,排序规则为新字段的默认类型。排序规则可以使用“select \* from pg\_collation;”命令从pg\_collation系统表中查询,默认的排序规则为查询结果中以default开始的行。 - **USING expression** diff --git a/content/zh/docs/Developerguide/ALTER-TYPE.md b/content/zh/docs/Developerguide/ALTER-TYPE.md index 2696b6710832300cee225eaf519e3ab775b39fcc..f82791a0c24bbb2a3e3a7f261dfd8247f9a5816f 100644 --- a/content/zh/docs/Developerguide/ALTER-TYPE.md +++ b/content/zh/docs/Developerguide/ALTER-TYPE.md @@ -143,7 +143,7 @@ >![](public_sys-resources/icon-notice.gif) **须知:** >- ADD ATTRIBUTE、DROP ATTRIBUTE和ALTER ATTRIBUTE选项可以组合成一个列表同时处理。 例如,在一条命令中同时增加几个属性或是更改几个属性的类型是可以实现的。 - >- 要修改一个类型的模式,还必须在新模式上拥有CREATE权限。 要修改所有者,必须是新的所有角色的直接或间接成员, 并且该成员必须在此类型的模式上有CREATE权限。 (这些限制强制了修改所有者不会做任何通过删除和重建类型不能做的事情。 不过,系统管理员可以以任何方式修改任意类型的所有权。) 要增加一个属性或是修改一个属性的类型,也必须有该类型的USAGE权限。 + >- 要修改一个类型的模式,必须在新模式上拥有CREATE权限。 要修改所有者,必须是新的所有角色的直接或间接成员, 并且该成员必须在此类型的模式上有CREATE权限。 (这些限制强制了修改所有者不会做任何通过删除和重建类型不能做的事情。 不过,系统管理员可以以任何方式修改任意类型的所有权。) 要增加一个属性或是修改一个属性的类型,也必须有该类型的USAGE权限。 ## 示例 diff --git a/content/zh/docs/Developerguide/CREATE-GROUP.md b/content/zh/docs/Developerguide/CREATE-GROUP.md index 6848b9d6dad94b7fa3785f9bc951d7bd96070f97..d28029020ec2a595d1fbe51b7bceb2cd762154eb 100644 --- a/content/zh/docs/Developerguide/CREATE-GROUP.md +++ b/content/zh/docs/Developerguide/CREATE-GROUP.md @@ -11,7 +11,7 @@ CREATE GROUP是CREATE ROLE的别名,非SQL标准语法,不推荐使用,建 ## 语法格式 ``` -CREATE GROUP group_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ] { PASSWORD | IDENTIFIED BY } { 'password' | DISABLE }; +CREATE GROUP group_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ] { PASSWORD | IDENTIFIED BY } { 'password' [EXPIRED]| DISABLE }; ``` 其中可选项option子句语法为: diff --git a/content/zh/docs/Developerguide/CREATE-INDEX.md b/content/zh/docs/Developerguide/CREATE-INDEX.md index 865ce0adba875e7ac68c1b87c610d09a44461056..9397eb9c424aae178ebf0379fbc7f7efda6ab6ec 100644 --- a/content/zh/docs/Developerguide/CREATE-INDEX.md +++ b/content/zh/docs/Developerguide/CREATE-INDEX.md @@ -120,7 +120,7 @@ - **COLLATE collation** - COLLATE子句指定列的排序规则(该列必须是可排列的数据类型)。如果没有指定,则使用默认的排序规则。 + COLLATE子句指定列的排序规则(该列必须是可排列的数据类型)。如果没有指定,则使用默认的排序规则。排序规则可以使用“SELECT * FROM pg_collation;”命令从pg_collation系统表中查询,默认的排序规则为查询结果中以default开始的行。 - **opclass** diff --git a/content/zh/docs/Developerguide/CREATE-ROW-LEVEL-SECURITY-POLICY.md b/content/zh/docs/Developerguide/CREATE-ROW-LEVEL-SECURITY-POLICY.md deleted file mode 100644 index 931902aef3809e57c9b4262cfd1d38602ceb3ea0..0000000000000000000000000000000000000000 --- a/content/zh/docs/Developerguide/CREATE-ROW-LEVEL-SECURITY-POLICY.md +++ /dev/null @@ -1,224 +0,0 @@ -# CREATE ROW LEVEL SECURITY POLICY - -## 功能描述 - -对表创建行访问控制策略。 - -当对表创建了行访问控制策略,只有打开该表的行访问控制开关\(ALTER TABLE ... ENABLE ROW LEVEL SECURITY\),策略才能生效。否则不生效。 - -当前行访问控制影响数据表的读取操作\(SELECT、UPDATE、DELETE\),暂不影响数据表的写入操作\(INSERT、MERGE INTO\)。表所有者或系统管理员可以在USING子句中创建表达式,在客户端执行数据表读取操作时,数据库后台在查询重写阶段会将满足条件的表达式拼接并应用到执行计划中。针对数据表的每一条元组,当USING表达式返回TRUE时,元组对当前用户可见,当USING表达式返回FALSE或NULL时,元组对当前用户不可见。 - -行访问控制策略名称是针对表的,同一个数据表上不能有同名的行访问控制策略;对不同的数据表,可以有同名的行访问控制策略。 - -行访问控制策略可以应用到指定的操作\(SELECT、UPDATE、DELETE、ALL\),ALL表示会影响SELECT、UPDATE、DELETE三种操作;定义行访问控制策略时,若未指定受影响的相关操作,默认为ALL。 - -行访问控制策略可以应用到指定的用户\(角色\),也可应用到全部用户\(PUBLIC\);定义行访问控制策略时,若未指定受影响的用户,默认为PUBLIC。 - -## 注意事项 - -- 支持对行存表、行存分区表、列存表、列存分区表、复制表、unlogged表、hash表定义行访问控制策略。 -- 不支持外表、临时表定义行访问控制策略。 -- 不支持对视图定义行访问控制策略。 -- 同一张表上可以创建多个行访问控制策略,一张表最多创建100个行访问控制策略。 -- 系统管理员不受行访问控制影响,可以查看表的全量数据。 -- 通过SQL语句、视图、函数、存储过程查询包含行访问控制策略的表,都会受影响。 - -## 语法格式 - -``` -CREATE [ ROW LEVEL SECURITY ] POLICY policy_name ON table_name - [ AS { PERMISSIVE | RESTRICTIVE } ] - [ FOR { ALL | SELECT | INSERT | UPDATE | DELETE } ] - [ TO { role_name | PUBLIC | CURRENT_USER | SESSION_USER } [, ...] ] - USING ( using_expression ) -``` - -## 参数说明 - -- **policy\_name** - - 行访问控制策略名称,同一个数据表上行访问控制策略名称不能相同。 - -- **table\_name** - - 行访问控制策略的表名。 - -- **command** - - 当前行访问控制影响的SQL操作,可指定操作包括:ALL、SELECT、UPDATE、DELETE。当未指定时,ALL为默认值,涵盖SELECT、UPDATE、DELETE操作。 - - 当command为SELECT时,SELECT类操作受行访问控制的影响,只能查看到满足条件\(using\_expression返回值为TRUE\)的元组数据,受影响的操作包括SELECT,UPDATE ... RETURNING,DELETE ... RETURNING。 - - 当command为UPDATE时,UPDATE类操作受行访问控制的影响,只能更新满足条件\(using\_expression返回值为TRUE\)的元组数据,受影响的操作包括UPDATE, UPDATE ... RETURNING, SELECT ... FOR UPDATE/SHARE。 - - 当command为DELETE时,DELETE类操作受行访问控制的影响,只能删除满足条件\(using\_expression返回值为TRUE\)的元组数据,受影响的操作包括DELETE, DELETE ... RETURNING。 - - 行访问控制策略与适配的SQL语法关系参加下表: - - **表 1** ROW LEVEL SECURITY策略与适配SQL语法关系 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Command

-

SELECT/ALL policy

-

UPDATE/ALL policy

-

DELETE/ALL policy

-

SELECT

-

Existing row

-

No

-

No

-

SELECT FOR UPDATE/SHARE

-

Existing row

-

Existing row

-

No

-

UPDATE

-

No

-

Existing row

-

No

-

UPDATE RETURNING

-

Existing row

-

Existing row

-

No

-

DELETE

-

No

-

No

-

Existing row

-

DELETE RETURNING

-

Existing row

-

No

-

Existing row

-
- -- **role\_name** - - 行访问控制影响的数据库用户。 - - 当未指定时,PUBLIC为默认值,PUBLIC表示影响所有数据库用户,可以指定多个受影响的数据库用户。 - - >![](public_sys-resources/icon-notice.gif) **须知:** - >系统管理员不受行访问控制特性影响。 - - -- **using\_expression** - - 行访问控制的表达式(返回boolean值)。 - - 条件表达式中不能包含AGG函数和窗口(WINDOW)函数。在查询重写阶段,如果数据表的行访问控制开关打开,满足条件的表达式会添加到计划树中。针对数据表的每条元组,会进行表达式计算,只有表达式返回值为TRUE时,行数据对用户才可见(SELECT、UPDATE、DELETE);当表达式返回FALSE时,该元组对当前用户不可见,用户无法通过SELECT语句查看此元组,无法通过UPDATE语句更新此元组,无法通过DELETE语句删除此元组。 - - -## 示例 - -``` ---创建用户alice -postgres=# CREATE ROLE alice PASSWORD 'Gauss@123'; - ---创建用户bob -postgres=# CREATE ROLE bob PASSWORD 'Gauss@123'; - ---创建数据表all_data -postgres=# CREATE TABLE all_data(id int, role varchar(100), data varchar(100)); - ---向数据表插入数据 -postgres=# INSERT INTO all_data VALUES(1, 'alice', 'alice data'); -postgres=# INSERT INTO all_data VALUES(2, 'bob', 'bob data'); -postgres=# INSERT INTO all_data VALUES(3, 'peter', 'peter data'); - ---将表all_data的读取权限赋予alice和bob用户 -postgres=# GRANT SELECT ON all_data TO alice, bob; - ---打开行访问控制策略开关 -postgres=# ALTER TABLE all_data ENABLE ROW LEVEL SECURITY; - ---创建行访问控制策略,当前用户只能查看用户自身的数据 -postgres=# CREATE ROW LEVEL SECURITY POLICY all_data_rls ON all_data USING(role = CURRENT_USER); - ---查看表all_data相关信息 -postgres=# \d+ all_data - Table "public.all_data" - Column | Type | Modifiers | Storage | Stats target | Description ---------+------------------------+-----------+----------+--------------+------------- - id | integer | | plain | | - role | character varying(100) | | extended | | - data | character varying(100) | | extended | | -Row Level Security Policies: - POLICY "all_data_rls" - USING (((role)::name = "current_user"())) -Has OIDs: no -Location Nodes: ALL DATANODES -Options: orientation=row, compression=no, enable_rowsecurity=true - ---当前用户执行SELECT操作 -postgres=# SELECT * FROM all_data; - id | role | data -----+-------+------------ - 1 | alice | alice data - 2 | bob | bob data - 3 | peter | peter data -(3 rows) - -postgres=# EXPLAIN(COSTS OFF) SELECT * FROM all_data; - QUERY PLAN ----------------------------- - Streaming (type: GATHER) - Node/s: All dbnodes - -> Seq Scan on all_data -(3 rows) - ---切换至alice用户执行SELECT操作 -postgres=# SELECT * FROM all_data; - id | role | data -----+-------+------------ - 1 | alice | alice data -(1 row) - -postgres=# EXPLAIN(COSTS OFF) SELECT * FROM all_data; - QUERY PLAN ----------------------------------------------------------------- - Streaming (type: GATHER) - Node/s: All dbnodes - -> Seq Scan on all_data - Filter: ((role)::name = 'alice'::name) - Notice: This query is influenced by row level security feature -(5 rows) -``` - -## 相关链接 - -[DROP ROW LEVEL SECURITY POLICY](DROP-ROW-LEVEL-SECURITY-POLICY.md) - diff --git a/content/zh/docs/Developerguide/CREATE-ROW-LEVLEL-SECURITY-POLICY.md b/content/zh/docs/Developerguide/CREATE-ROW-LEVLEL-SECURITY-POLICY.md index acc5d59f8a6b9da195814a56260c0b730e77a387..0913c80428c8ad4f4ccd5a7388d5c8c7d7a01189 100644 --- a/content/zh/docs/Developerguide/CREATE-ROW-LEVLEL-SECURITY-POLICY.md +++ b/content/zh/docs/Developerguide/CREATE-ROW-LEVLEL-SECURITY-POLICY.md @@ -43,6 +43,19 @@ CREATE [ ROW LEVEL SECURITY ] POLICY policy_name ON table_name 行访问控制策略的表名。 +- **PERMISSIVE | RESTRICTIVE** + + PERMISSIVE指定行访问控制策略为宽容性策略。宽容性策略的条件用OR表达式拼接。 + + RESTRICTIVE指定行访问控制策略为限制性策略。限制性策略的条件用AND表达式拼接。拼接方式如下: + + ``` +(using_expression_permissive_1 OR using_expression_permissive_2 ...) AND + (using_expression_restrictive_1 AND using_expression_restrictive_2 ...) +``` + +缺省值为PERMISSIVE。 + - **command** 当前行访问控制影响的SQL操作,可指定操作包括:ALL、SELECT、UPDATE、DELETE。当未指定时,ALL为默认值,涵盖SELECT、UPDATE、DELETE操作。 diff --git a/content/zh/docs/Developerguide/CREATE-TABLE-PARTITION.md b/content/zh/docs/Developerguide/CREATE-TABLE-PARTITION.md index a8e6427ce14de0f5cd1afc741099d7a58ac97d3b..9595882cf0e3cdedb929a08116225cb339297668 100644 --- a/content/zh/docs/Developerguide/CREATE-TABLE-PARTITION.md +++ b/content/zh/docs/Developerguide/CREATE-TABLE-PARTITION.md @@ -127,7 +127,7 @@ CREATE TABLE [ IF NOT EXISTS ] partition_table_name - **COLLATE collation** - COLLATE子句指定列的排序规则(该列必须是可排列的数据类型)。如果没有指定,则使用默认的排序规则。 + COLLATE子句指定列的排序规则(该列必须是可排列的数据类型)。如果没有指定,则使用默认的排序规则。排序规则可以使用“SELECT * FROM pg_collation;”命令从pg_collation系统表中查询,默认的排序规则为查询结果中以default开始的行。 - **CONSTRAINT constraint\_name** diff --git a/content/zh/docs/Developerguide/CREATE-TABLE.md b/content/zh/docs/Developerguide/CREATE-TABLE.md index 33d2fbfe01d5bb195810b54bb6c25679aae1e400..20bab695fda45cafbb156a8f7524590f7dfaa9f5 100644 --- a/content/zh/docs/Developerguide/CREATE-TABLE.md +++ b/content/zh/docs/Developerguide/CREATE-TABLE.md @@ -129,7 +129,7 @@ - **COLLATE collation** - COLLATE子句指定列的排序规则(该列必须是可排列的数据类型)。如果没有指定,则使用默认的排序规则。 + COLLATE子句指定列的排序规则(该列必须是可排列的数据类型)。如果没有指定,则使用默认的排序规则。排序规则可以使用“SELECT * FROM pg_collation;”命令从pg_collation系统表中查询,默认的排序规则为查询结果中以default开始的行。 - **LIKE source\_table \[ like\_option ... \]** diff --git a/content/zh/docs/Developerguide/CREATE-TYPE.md b/content/zh/docs/Developerguide/CREATE-TYPE.md index 1e47be3c5f80f17152a36f5b8f78025ea6f158c7..0785b36de4a7d5cfa24f3cf2a161d8abb670c99d 100644 --- a/content/zh/docs/Developerguide/CREATE-TYPE.md +++ b/content/zh/docs/Developerguide/CREATE-TYPE.md @@ -83,7 +83,7 @@ CREATE TYPE name AS ENUM - **collation** - 要关联到复合类型的一列的现有排序规则的名称。 + 要关联到复合类型的一列的现有排序规则的名称。排序规则可以使用“SELECT * FROM pg_collation;”命令从pg_collation系统表中查询,默认的排序规则为查询结果中以default开始的行。 基本类型 diff --git a/content/zh/docs/Developerguide/GLOBAL_MEMORY_NODE_DETAIL.md b/content/zh/docs/Developerguide/GLOBAL_MEMORY_NODE_DETAIL.md index 2a8178679e6bfbc869e04fd60785bf0941932ee5..9ef5ea939c3399ca005be55ec68259640fb78f60 100644 --- a/content/zh/docs/Developerguide/GLOBAL_MEMORY_NODE_DETAIL.md +++ b/content/zh/docs/Developerguide/GLOBAL_MEMORY_NODE_DETAIL.md @@ -1,6 +1,6 @@ # GLOBAL\_MEMORY\_NODE\_DETAIL -显示前openGauss中所有正常节点下的内存使用情况。 +显示当前openGauss中所有正常节点下的内存使用情况。 **表 1** GLOBAL\_MEMORY\_NODE\_DETAIL字段 diff --git a/content/zh/docs/Developerguide/GRANT.md b/content/zh/docs/Developerguide/GRANT.md index b506ba0665207fa55e4991d9f0b7aefea6885476..fe5e139e928536eebd253aff17750e44a728e036 100644 --- a/content/zh/docs/Developerguide/GRANT.md +++ b/content/zh/docs/Developerguide/GRANT.md @@ -8,7 +8,7 @@ - **将系统权限授权给角色或用户** - 系统权限又称为用户属性,包括SYSADMIN、CREATEDB、CREATEROLE、AUDITADMIN和LOGIN。 + 系统权限又称为用户属性,包括SYSADMIN、CREATEDB、CREATEROLE、AUDITADMIN、MONADMIN、OPRADMIN、POLADMIN和LOGIN。 系统权限一般通过CREATE/ALTER ROLE语法来指定。其中,SYSADMIN权限可以通过GRANT/REVOKE ALL PRIVILEGE授予或撤销。但系统权限无法通过ROLE和USER的权限被继承,也无法授予PUBLIC。 @@ -41,7 +41,7 @@ ## 语法格式 -- 将表的访问权限赋予指定的用户或角色。 +- 将表或视图的访问权限赋予指定的用户或角色。 ``` GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | ALTER | DROP | COMMENT | INDEX | VACUUM } [, ...] @@ -53,17 +53,6 @@ ``` -- 将视图的访问权限赋予指定的用户或角色。 - - ``` - GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | ALTER | DROP | COMMENT } [, ...] - | ALL [ PRIVILEGES ] } - ON { [ TABLE ] table_name [, ...] - | ALL TABLES IN SCHEMA schema_name [, ...] } - TO { [ GROUP ] role_name | PUBLIC } [, ...] - [ WITH GRANT OPTION ]; - ``` - - 将表中字段的访问权限赋予指定的用户或角色。 ``` diff --git a/content/zh/docs/Developerguide/REVOKE.md b/content/zh/docs/Developerguide/REVOKE.md index a3f4183ff43e03a6273eff674814dfcccd4ef9fb..001a853a5c75f7dc8171fba9eaa191a6892ee903 100644 --- a/content/zh/docs/Developerguide/REVOKE.md +++ b/content/zh/docs/Developerguide/REVOKE.md @@ -15,19 +15,7 @@ REVOKE用于撤销一个或多个角色的权限。 ## 语法格式 -- 回收指定表上权限。 - - ``` - 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 ] diff --git "a/content/zh/docs/Developerguide/\351\273\230\350\256\244\346\235\203\351\231\220\346\234\272\345\210\266.md" "b/content/zh/docs/Developerguide/\351\273\230\350\256\244\346\235\203\351\231\220\346\234\272\345\210\266.md" index 17f33c765ac6b1a571e0a08c00a0dd53c218f4eb..c7929ff5e52d10fa472ae2b9cb02b36a5738e115 100644 --- "a/content/zh/docs/Developerguide/\351\273\230\350\256\244\346\235\203\351\231\220\346\234\272\345\210\266.md" +++ "b/content/zh/docs/Developerguide/\351\273\230\350\256\244\346\235\203\351\231\220\346\234\272\345\210\266.md" @@ -4,9 +4,9 @@ 为使其他用户能够使用对象,必须向用户或包含该用户的角色授予必要的权限。 -openGauss支持以下的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、CREATE、CONNECT、EXECUTE和USAGE。不同的权限与不同的对象类型关联。有关各权限的详细信息,请参见[GRANT](GRANT.md)。 +openGauss支持以下的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、CREATE、CONNECT、EXECUTE、USAGE、ALTER、DROP、COMMENT、INDEX和VACUUM。不同的权限与不同的对象类型关联。有关各权限的详细信息,请参见[GRANT](GRANT.md)。 -要撤消已经授予的权限,可以使用[REVOKE](REVOKE.md)。对象所有者的权限(例如ALTER、 DROP、GRANT和REVOKE)是隐式的,无法授予或撤消。即只要拥有对象就可以执行对象所有者的这些隐式权限。对象所有者可以撤消自己的普通权限,例如,使表对自己以及其他人只读,系统管理员用户除外。 +要撤消已经授予的权限,可以使用[REVOKE](REVOKE.md)。对象所有者的权限(例如ALTER、 DROP、COMMENT、INDEX、VACUUM、GRANT和REVOKE)是隐式拥有的,无法授予或撤消。即只要拥有对象就可以执行对象所有者的这些隐式权限。对象所有者可以撤消自己的普通权限,例如,使表对自己以及其他人只读,系统管理员用户除外。 系统表和系统视图要么只对系统管理员可见,要么对所有用户可见。标识了需要系统管理员权限的系统表和视图只有系统管理员可以查询。 有关信息,请参考[系统表和系统视图](系统表和系统视图.md)。