↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
历史版本PostgreSQL 7.1 已于 2006 年 4 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

7.3. 权限 #

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

目前有四种不同的权限:select(读)、 insert(追加)和 update/delete(写),以及 RULE,即在表上创建重写规则的 权限。修改或销毁对象的权利始终只属于 所有者。要授予权限,使用 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;

表拥有者持有的权限集总是隐含的, 永远不能被收回。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。