GRANT privilege [, ...] ON object [, ...]
TO { PUBLIC | GROUP group | username }
一旦用户有某对象的权限,他就可以使用那个特权.不需要给创建者赋予(GRANT)对象的权限,创建者自动拥有对象的所有权限,包括删除它的权限.
使用 psql \z 命令获取关于现存对象权限的更多信息:
Database = lusitania
+------------------+---------------------------------------------+
| Relation | Grant/Revoke Permissions |
+------------------+---------------------------------------------+
| mytable | {"=rw","miriam=arwR","group todos=rw"} |
+------------------+---------------------------------------------+
Legend:
uname=arwR -- privileges granted to a user
group gname=arwR -- privileges granted to a GROUP
=arwR -- privileges granted to PUBLIC
r -- SELECT
w -- UPDATE/DELETE
a -- INSERT
R -- RULE
arwR -- ALL
GRANT INSERT ON films TO PUBLIC;赋予用户 manuel 操作视图 kinds 的所有权限:
GRANT ALL ON kinds TO manuel;
GRANT privilege [, ...]
ON object [ ( column [, ...] ) ] [, ...]
TO { PUBLIC | username [, ...] } [ WITH GRANT OPTION ]