↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
历史版本。 PostgreSQL 7.2 已结束支持。 请参阅 当前版本手册.

7.3. 权限 #

创建数据库对象时,它会被指派一个所有者。所有者是执行创建语句的用户。目前没有更改数据库对象所有者的完善接口。默认情况下,只有所有者(或超级用户)才能对对象做任何操作。为了让其他用户能使用它,必须授予权限。

有多种不同的权限:SELECT(读)、INSERT(追加)、UPDATE(写)、DELETE、RULE、REFERENCES(外键)和 TRIGGER。(更详细的信息见 GRANT 手册页。)修改或销毁对象的权利始终只属于拥有者。要授予权限,使用 GRANT 命令。因此,如果 joe 是一个现有用户,accounts 是一个现有的表,写访问权限可以用下面的命令授予:

GRANT UPDATE ON accounts TO joe;

执行这条命令的用户必须是表的所有者。要向组授予权限,使用

GRANT SELECT ON accounts TO GROUP staff;

特殊“用户”名 PUBLIC 可用来向系统中的每个用户授予权限。用 ALL 代替具体的权限就表示授予所有权限。

要收回权限,使用名字同样贴切的 REVOKE 命令:

REVOKE ALL ON accounts FROM PUBLIC;

表拥有者的特殊权限(即执行 DROP、GRANT、REVOKE 等的权利)总是隐含在拥有者身份中,不能被授予或收回。但表拥有者可以选择收回自己的普通权限,例如让自己和别人都只能对表进行只读访问。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.