Code前端首页关于Code前端联系我们

PostgreSQL 权限:GRANT、REVOKE 语法

terry 2年前 (2023-09-26) 阅读数 42 #数据库

当在数据库中创建对象时,它会被分配一个所有者。所有者通常是完成创建语句的用户。对于大多数对象类型,默认情况下只有所有者(或超级用户)才能修改或删除对象。必须授予权限或许可才能允许其他角色或用户使用。

PostgreSQL 中不同类型的权限有:

  • SELECTINSERT、、、D ♶♶ TE, 截断、参考触发创建、、 ♷、 温度使用 和

权限根据对象的类型(表、函数等)应用于对象。使用命令 GRANT 为用户分配权限。

GRANT 语法

GRANT 该命令的基本语法为:

GRANT privilege [, ...]
ON object [, ...]
TO { PUBLIC | GROUP group | username }
SQL
  • privilege
    • privilege❀ , 入口 更新、删除
    • object:授予访问权限的对象的名称。可能的对象有:表、视图、序列
    • PUBLIC:代表所有用户的缩写形式。
    • GROUP 组:已授予权限的组。
    • userna我:授予权限的用户名。 PUBLIC 是适用于所有用户的缩写形式。

    REVOKE 语法

    REVOKE 该命令的基本语法如下。 、添加更新删除规则

  • object:授予访问权限的对象的名称。可能的对象有:表、视图、序列。
  • PUBLIC:适用于所有用户的缩写形式。
  • GROUP 组:已授予权限的组。
  • userna我:授予权限的用户名。PUBLIC 是适用于所有用户的缩写形式。

示例

为了了解权限,我们首先创建USER,如下所示:

yiibai_db=# CREATE USER manisha WITH PASSWORD 'password';
CREATE ROLE
SQLSQLSQLSQL 表示创建用户名对于。manisha。 † 授予公司 COMPANY 所有权限如下:
yiibai_db=# GRANT ALL ON COMPANY TO manisha;
GRANT
SQL

语句GRANT 表示从表 COMPANY 到用户的所有权限已被授予分配给♷。 ”。

接下来,我们撤销用户“manisha”的权限,如下:

yiibai_db=# REVOKE ALL ON COMPANY FROM manisha;
REVOKE
SQL

SQL

SQL

REVOKE ‷ 表示来自用户manisha 》撤销所有权限。甚至可以删除用户,如下所示:

yiibai_db=# DROP USER manisha;
DROP ROLE
SQL

DROP ROLE 表示从数据库中删除用户“manisha”。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门