域名 AXUM.RS 将于2025年10月到期。我们无意再对其进行续费,我们希望你能够接续这个域名,让更多 AXUM 开发者继续受益。现在,我们已启用新域名 AXUM.EU.ORG
  • 方案AXUM.RS 域名 = 3000
如果你有意接续这份 AXUM 情怀,请与我们取得联系。
说明:
  1. 如果有人购买 AXUM.RS 域名,或者该域名到期,本站将使用免费域名 AXUM.EU.ORG 继续提供服务。

角色与权限

本章介绍角色与权限。PostgreSQL 使用角色来表示用户账号,而不是其它数据库那样使用用户概念。

语法:

日常应用中,通常会为每个项目/服务创建独立的数据库和角色,基于最小权限原则,在不影响业务的情况,我们只需要 LOGINPASSWORD 选项。假设,我们要为 axum.rs 创建数据库和对应的角色:

-- 以超级用户角色操作

-- 创建角色
CREATE ROLE axum_rs WITH LOGIN PASSWORD 'axum.rs';

-- 创建数据库,并指定所有者
CREATE DATABASE axum_rs WITH OWNER = axum_rs;

分配权限

如果创建数据库的时候指定了 OWNER ,那么该角色自动对该数据库中的所有对象拥有了所有权限,而不需要再单独分配权限。

如果创建数据库的时候指定了 OWNER ,那么该角色自动对该数据库中的所有对象拥有了所有权限,而不需要再单独分配权限。

语法:

GRANT 权限列表 | ALL 
ON  表名
TO  角色名;

权限列表可以是下以值的一个或多个:

  • SELECT:允许执行 SELECT 语句
  • INSERT:允许执行 INSERT 语句
  • UPDATE:允许执行 DELETE 语句
  • TRUNCATE:允许执行 TRUNCATE

如果使用 ALL,则拥有以上所有权限。

回收权限

可以回收某个角色的权限,语法如下:

选项和分配权限一样。

要查看完整内容,请先登录