首頁>Club>
11
回覆列表
  • 1 # Afczdgv

    GRANT名稱GRANT — 賦予一個使用者,一個組或所有使用者訪問許可權 GRANT privilege [, ...] ON object [, ...] 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 "object" not found 如果所宣告的物件不可用或不可能對宣告的組或使用者賦予許可權. 描述GRANT 允許物件的建立者給某使用者或某組或所有使用者(PUBLIC)某些特定的許可權.物件建立後,除了建立者外,除非建立者賦予(GRANT)許可權,其他人沒有訪問物件的許可權. 一旦使用者有某物件的許可權,他就可以使用那個特權.不需要給建立者賦予(GRANT)物件的許可權,建立者自動擁有物件的所有許可權,包括刪除它的許可權. 注意目前,要想在 Postgres 裡面只賦予幾列許可權,你必須建立一個包含那幾列的檢視(view),然後把許可權賦予那幾個檢視。使用 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 小技巧: 目前,要建立一個 GROUP (組), 你將不得不手工向表 pg_group 中插入資料,像: INSERT INTO pg_group VALUES ("todos");CREATE USER miriam IN GROUP todos; 參考 REVOKE 語句重新分配訪問許可權.用法給所有使用者向表 films 插入記錄的許可權:GRANT INSERT ON films TO PUBLIC; 賦予使用者 manuel 操作檢視 kinds 的所有許可權:GRANT ALL ON kinds TO manuel; 相容性SQL92SQL92 GRANT 語法允許對錶中的某單獨列/欄位設定許可權,並且允許設定一許可權以賦予別人相同許可權. GRANT privilege [, ...] ON object [ ( column [, ...] ) ] [, ...] TO { PUBLIC | username [, ...] } [ WITH GRANT OPTION ] 這些欄位與 Postgres 實現是相容的,除了下面一些例外: privilege SQL92 允許宣告附加的許可權:SELECT REFERENCES 允許在一個宣告的表的整合約束中使用某些或全部列/欄位. USAGE 允許使用一個域,字符集,集合或事務.如果宣告的物件不是表/檢視, privilege 只能宣告為 USAGE. object [ TABLE ] table SQL92 允許一個附加的非函式關鍵字 TABLE. CHARACTER SET 允許使用宣告的字符集. COLLATION 允許使用宣告的集合序列. TRANSLATION 允許使用宣告的字符集轉換. DOMAIN 允許使用宣告的域. WITH GRANT OPTION 允許向別人賦予同樣許可權.

  • 中秋節和大豐收的關聯?
  • 做夢夢到被蛇咬脖子是什麼意思?