GRANT
名稱
GRANT — 賦予一個用戶
GRANT privilege [
TO { PUBLIC | GROUP group | username }
輸入
privilege
可能的權限有
SELECT
訪問聲明的表/視圖的所有列/字段.
INSERT
向聲明的表中插入所有列字段.
UPDATE
更新聲明的所有列/字段.
DELETE
從聲明的表中刪除所有行.
RULE
在表/視圖上定義規則 (參見 CREATE RULE 語句).
ALL
賦予所有權限.
object
賦予權限的對象名.可能的對象是
?table (表)
?view (視圖)
?sequence (序列)
?index (索引)
PUBLIC
代表是所有用戶的簡寫.
GROUP group
將要賦予權限的組 group .目前的版本中
username
將要賦予權限的用戶名.PUBLIC 是代表所有用戶的簡寫.
輸出
CHANGE
如果成功
ERROR: ChangeAcl: class
如果所聲明的對象不可用或不可能對聲明的組或用戶賦予權限.
描述
GRANT 允許對象的創建者給某用戶或某組或所有用戶(PUBLIC)某些特定的權限.對象創建後
一旦用戶有某對象的權限
注意
目前
使用 psql \z 命令獲取關於現存對象權限的更多信息
Database = lusitania
+
| Relation | Grant/Revoke Permissions |
+
| mytable | {
+
Legend:
uname=arwR
group gname=arwR
=arwR
r
w
a
R
arwR
小技巧
INSERT INTO pg_group VALUES (
CREATE USER miriam IN GROUP todos;
參考 REVOKE 語句重新分配訪問權限
用法
給所有用戶向表 films 插入記錄的權限
GRANT INSERT ON films TO PUBLIC;
賦予用戶 manuel 操作視圖 kinds 的所有權限
GRANT ALL ON kinds TO manuel;
兼容性
SQL
SQL
GRANT privilege [
ON object [ ( column [
TO { PUBLIC | username [
這些字段與 Postgres 實現是兼容的
privilege
SQL
SELECT
REFERENCES
允許在一個聲明的表的整合約束中使用某些或全部列/字段.
USAGE
允許使用一個域
object
[ TABLE ] table
SQL
CHARACTER SET
允許使用聲明的字符集.
COLLATION
允許使用聲明的集合序列.
TRANSLATION
允許使用聲明的字符集轉換.
DOMAIN
允許使用聲明的域.
WITH GRANT OPTION
允許向別人賦予同樣權
From:http://tw.wingwit.com/Article/program/Oracle/201311/17628.html