Menu

文档

用户权限设置

  • 给用户直接授予某对象的权限,请使用GRANT

    将Schema中的表或者视图对象授权给其他用户或角色时,需要将表或视图所属Schema的USAGE权限同时授予该用户或角色。否则用户或角色将只能看到这些对象的名称,并不能实际进行对象访问。

    例如,下面示例将Schema tpcds的权限赋给用户joe后,将表tpcds.web_returns的select权限赋给用户joe。

    postgres=# GRANT USAGE ON SCHEMA tpcds TO joe;
    postgres=# GRANT SELECT ON TABLE tpcds.web_returns to joe;
    
  • 给用户指定角色,使用户继承角色所拥有的对象权限。

    1. 创建角色。

      新建一个角色lily,同时给角色指定系统权限CREATEDB:

      CREATE ROLE lily WITH CREATEDB PASSWORD "Bigdata@123";
      
    2. 给角色赋予对象权限,请使用GRANT

      例如,将模式tpcds的权限赋给角色lily后,将表tpcds.web_returns的select权限赋给角色lily。

      postgres=# GRANT USAGE ON SCHEMA tpcds TO lily;
      postgres=# GRANT SELECT ON TABLE tpcds.web_returns to lily;
      
    3. 将角色的权限赋予用户。

      GRANT lily to joe;
      

      说明:
      当将角色的权限赋予用户时,角色的属性并不会传递到用户。

  • 回收用户权限,请使用REVOKE

本文档遵循知识共享许可协议CC 4.0 (http://creativecommons.org/Licenses/by/4.0/)。